Warum funktioniert CSS clamp () nicht nur mit Null (ohne Einheiten)? [Duplikat]
Ich erstelle einen Stift mit einem Beispiel für einen Fehler: https://codepen.io/dimakrutoo/pen/PoGZymb
Wenn wir den Wert --layoutWMin
der 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?
Ein weiteres anschauliches Beispiel hier: https://codepen.io/dimakrutoo/pen/RwGarWY
Antworten
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.