Warum funktioniert CSS clamp () nicht nur mit Null (ohne Einheiten)? [Duplikat]

Dec 05 2020

Ich erstelle einen Stift mit einem Beispiel für einen Fehler: https://codepen.io/dimakrutoo/pen/PoGZymb

Wenn wir den Wert --layoutWMinder Variablen von "0px" auf "0" ändern, werden die Berechnungen unterbrochen

Kann jemand bitte erklären, warum die clamp()Funktion ohne Einheiten nicht mit einem Nullwert funktioniert?

UPD

Ein weiteres anschauliches Beispiel hier: https://codepen.io/dimakrutoo/pen/RwGarWY

Antworten

AHaworth Dec 05 2020 at 16:16

Dies ist keine vollständige Antwort, aber mir sind die Zeichen in den Kommentaren ausgegangen.

Ich kann es nicht erklären, sondern nur zu beachten, dass sich die Klammer auflöst, um zu max(MIN, min(VAL, MAX))sehenhttps://developer.mozilla.org/en-US/docs/Web/CSS/clamp() und max und min zeigen dasselbe Verhalten, wenn der erste Parameter 0 ist und der zweite eine Einheit hat.

Es gibt mehrere Fragen zu SO mit einer Vielzahl akzeptierter und positiv bewerteter Antworten, die jetzt als falsch erscheinen, da sie fest darauf hinweisen, dass 0 und beispielsweise 0px gleich sind (wie die Spezifikation, soweit ich sehen kann).

Es kann ein Fehler sein, es kann eine Funktion sein, aber es ist wichtig zu wissen. Vielen Dank für die Hervorhebung.