Dieser CSS-Trick, der von Ahmad dokumentiert wurde, das von Facebooks Codebasis beschattet und stammt, passt den Grenzradius eines Elements dynamisch anhand seiner Breite im Vergleich zum Ansichtsfenster an. Die Magie geschieht in einer einzigen CSS -Reihe:
.Card { Border -Radius: Max (0px, min (8px, calc ((100VW - 4px - 100%) * 9999)); }
Die Kernlogik vergleicht 100vw
(Ansichtsfenster) mit 100%
(Elementbreite). Normalerweise beträgt der border-radius
8px. Wenn sich die Breite des Elements jedoch der Ansichtsfensterbreite nähert (innerhalb einer Toleranz von ungefähr 4px), führt die Berechnung zu einem negativen Wert. Die Funktionen von max(0px, ...)
und min(8px, ...)
, kombiniert mit dem großen Multiplikator (9999), sorgen für einen knusprigen Umschalter zwischen 0PX und 8PX-Randradius, wodurch alle Zwischenwerte beseitigt werden. Das Entfernen des Multiplikators (9999) zeigt einen allmählichen Übergang, da sich die Breite des Elements nähert der Ansichtsfensterbreite.
Dieser Ansatz bietet Vorteile gegenüber @media
-Abfragen:
Container-Kenntnis: Im Gegensatz zu Medienabfragen, die auf festen Ansichtsfenster-Breiten beruhen, reagiert diese Technik dynamisch auf die Breite des Elements relativ zum Ansichtsfenster und wirkt als Form der Containerabfrage. Es muss die Größe der Karte vorher nicht wissen. Eine Medienabfrage wäre von dieser vordefinierten Breite abhängig.
Vielseitigkeit: Diese "Fab Four" -Technik (wie es manchmal genannt wird) ist besonders nützlich in der E -Mail -Entwicklung und anderen Kontexten, in denen eine genaue Kontrolle über die Reaktionsfähigkeit von Layout von entscheidender Bedeutung ist.
Die Entwickler unterstreichen ihre überlegene Anpassungsfähigkeit im Vergleich zu Medienabfragen und machen es zu einem leistungsstarken Werkzeug für reaktionsschnelle Designszenarien.
Das obige ist der detaillierte Inhalt vonBedingter Grenzradius in CSS. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!