Container Units Should Be Pretty Handy

Avatar of Chris Coyier
Chris Coyier am

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

Container-Abfragen werden dieses langjährige Problem im Webdesign lösen, bei dem wir Designentscheidungen basierend auf der Größe eines Elements (des Containers) und nicht auf der Größe der gesamten Seite treffen möchten. Wenn ein Container also 600 Pixel breit ist, hat er vielleicht ein zeilenartiges Design, aber wenn er schmaler ist, hat er ein spaltenartiges Design, und wir werden diese Art von Kontrolle haben. Das ist viel anders als der Übergang zwischen Layouts basierend auf der Bildschirmgröße.

Dank der %-Einheit können wir einige Dinge bereits basierend auf der Größe eines Elements skalieren. Zum Beispiel sind all diese Container 50 % so breit wie ihr übergeordneter Container.

Das % hier ist 1 zu 1 mit der verwendeten Eigenschaft, also ist width ein % von width. Ebenso könnte ich % für font-size verwenden, aber es wird ein % der font-size des übergeordneten Containers sein. Es gibt nichts, das es mir ermöglicht, Eigenschaften zu kombinieren und die font-size als % der width eines Containers festzulegen.

Das heißt, es sei denn, wir bekommen Container-Einheiten! Hier ist die Tabelle der Einheiten gemäß dem Entwurf der Spezifikation

Einheitrelativ zu
qw1% der Breite eines Abfragecontainers
qh1% der Höhe eines Abfragecontainers
qi1% der Inline-Größe eines Abfragecontainers
qb1% der Blockgröße eines Abfragecontainers
qminDer kleinere Wert von qi oder qb
qmaxDer größere Wert von qi oder qb

Damit könnte ich problemlos die font-size auf einen Prozentsatz der width des übergeordneten Containers setzen. Oder line-height! Oder gap! Oder margin! Oder whatever!

Miriam merkt an, dass wir diese Einheiten derzeit in Chrome Canary ausprobieren können, solange das Flag für Container-Abfragen aktiviert ist.

Ich habe auch kurz damit herumgespielt. Ich werde hier einfach ein Video einfügen, da es in diesen sehr frühen Tagen einfacher zu sehen sein wird.

Und hier auch einige großartige explorative Arbeiten von Scott

https://twitter.com/ScottKellum/status/1436360780535025688

Ahmad Shadeed ist ebenfalls voll dabei!

Abfrageeinheiten können uns Aufwand und Zeit sparen, wenn wir mit Dingen wie font-sizepadding und margin innerhalb einer Komponente umgehen. Anstatt die Schriftgröße manuell zu erhöhen, können wir stattdessen Abfrageeinheiten verwenden.

Ahmad Shadeed, „CSS Container Query Units“

Vielleicht werden Container-Abfragen und Container-Einheiten gleichzeitig wirklich veröffentlicht. 🤷