Ich mag, wie Prozentangaben für background-position funktionieren

Avatar of Chris Coyier
Chris Coyier am

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

Ich habe neulich etwas gelernt, als wir die background Eigenschaften im Almanach ausgearbeitet haben. Es ist etwas so Intuitives, dass ich wohl nie darüber nachgedacht habe.

Standardmäßig ist background-position 0 0, die obere linke Ecke. Stellen Sie sich nun vor, Sie setzen es auf 50% 0. Dieses Hintergrundbild ist nun mittig oben. Es ermittelt die Größe dieses Bildes und positioniert die Mitte davon in der Mitte des Elements.

Das unterscheidet sich davon, wenn Sie z. B. ein <img> hätten und es mit left: 50%; positionieren würden. In diesem Szenario wäre der linke Rand des Bildes am Mittelpunkt. Wenn Sie es zentrieren möchten, müssen Sie es nach links ziehen (negativer Translate oder negativer Rand).

Hier ist eine Visualisierung dieses Unterschieds

Siehe den Pen Der Unterschied zwischen background-position und left von Chris Coyier (@chriscoyier) auf CodePen.

Wenn Sie also etwas wie background-position: 25% 25% setzen, positioniert dies das Bild so, dass 25% der Breite des Bildes mit 25% der Breite des Elements übereinstimmen. Und das Gleiche vertikal.

Nichts Revolutionäres hier. Ich finde es einfach clever gestaltet. Man muss nicht viel darüber nachdenken, weil es so funktioniert, wie man es erwarten würde. Natürlich, wenn ich right top für die background-position setze, wird das Bild in der oberen rechten Ecke gezeichnet. Ich denke nicht darüber nach, wie der Browser die Bildgröße und die Elementgröße berechnen und die Achsen an diesen Positionen ausrichten muss.