Text an einen Container anpassen

Avatar of Chris Coyier
Chris Coyier am

DigitalOcean bietet Cloud-Produkte für jede Phase Ihrer Reise. Starten Sie mit 200 $ kostenlosem Guthaben!

Es gibt verschiedene Möglichkeiten, Text in einem Container zu platzieren und ihn so zu skalieren, dass er diesen Container ausfüllt. Wir können verschiedene Technologien verwenden und unterschiedliche Aspekte berücksichtigen. Zählen wir die Wege.

Magic Number mit Viewport-Einheiten

Wenn Sie Text mit vw (Viewport-Breite) Einheiten formatieren, können Sie eine exakte Zahl finden, bei der der Text den Container ziemlich genau ausfüllt und sich beim Ändern der Größe nicht bricht. Das nenne ich eine magische Zahl.

In diesem Fall funktioniert font-size: 25.5vw; bis zu einer Viewport-Breite von 320px, wird aber darüber hinaus immer noch viel zu klein.

Siehe den Pen Fitted Text with Viewport Units von Chris Coyier (@chriscoyier) auf CodePen.

Dies ist eine Art weniger exotische Version von fließender Typografie, die mehr eine Streuung von Viewport-Einheiten und Min/Max-Größen beinhaltet.

FitText

Dave Ruperts FitText ist für diese Aufgabe geeignet. Sie benötigen immer noch eine kleine magische Zahl, um die Skalierung für einen bestimmten Auftrag richtig hinzubekommen.

Siehe den Pen Fitted Text with FitText von Chris Coyier (@chriscoyier) auf CodePen.

FitText ohne jQuery

Wenn Sie kein jQuery verwenden, gibt es Optionen. Auflistung aus dem Repository

Beispiel für das erste

Siehe den Pen Fitted Text with FitText (no jQuery) von Chris Coyier (@chriscoyier) auf CodePen.

textFit

Vertauschen Sie die Wörter in FitText und Sie haben textFit! Es ist eine weitere JavaScript-Bibliothek, die Schriftgrößen anpasst, um Text in einen Container zu passen. Ein großes Haftungsausschluss hier jedoch: textFit ist für zwei Dimensionen konzipiert. Sie benötigen also eine Breite und Höhe für das Element, damit es funktioniert.

Siehe den Pen Fitted Text with textFit von Chris Coyier (@chriscoyier) auf CodePen.

fitty

fitty ist eher wie FitText, da es den Text skaliert, um ihn horizontal zu maximieren, aber keine magischen Zahlen zu benötigen scheint.

Siehe den Pen Fitted Text with fitty von Chris Coyier (@chriscoyier) auf CodePen.

TextFill

TextFill basiert auf jQuery und benötigt eine Breite, Höhe und eine konfigurierte maximale Schriftgröße, um zu funktionieren. Hier ist die grundlegende Demo, mit der wir gearbeitet haben.

Siehe den Pen Fitted Text with TextFill von Chris Coyier (@chriscoyier) auf CodePen.

FlowType

FlowType ist darauf ausgelegt, auf einem gesamten Textdokument zu arbeiten und es fließend gleichzeitig zu skalieren, mit minimalen und maximalen Viewport-Größen. Sie können es aber beliebig eingrenzen. Sie wenden auch eine magische Zahl an, um die Dinge so zu gestalten, wie Sie es möchten.

Siehe den Pen Fitted Text with FlowType von Chris Coyier (@chriscoyier) auf CodePen.

Einfach SVG verwenden

Mit width: 100% und einer viewBox wird SVG eine Vollbildbox, die sich mit einem Seitenverhältnis reskaliert. Ein ziemlich cleverer Trick! Um den Text zu formatieren, benötigen Sie einige magische Zahlen, um die viewBox richtig hinzubekommen und den Text an die richtige Stelle zu schieben - aber es ist mit null Abhängigkeiten machbar, genau wie die Viewport-Einheiten-Demo.

Siehe den Pen Fitted Text with SVG von Chris Coyier (@chriscoyier) auf CodePen.