min(), max() und clamp() sind CSS-Magie!

Avatar of Chris Coyier
Chris Coyier am

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

Schönes Video von Kevin Powell. Hier sind einige Notizen, Gedanken und Dinge, die ich beim Anschauen gelernt habe. Gleich als sie herauskamen, war ich meistens von der Verwendung von font-size besessen, aber es sind nur Funktionen, daher können sie überall dort verwendet werden, wo Sie eine Zahl verwenden würden, wie z. B. eine Länge.

Manchmal ermöglicht eine ziemlich grundlegende Verwendung einen strafferen Code, aber die Umstellung, um dorthin zu gelangen, fühlt sich ein wenig umwerfend an. Wie zum Beispiel, um hier ein "Max" festzulegen, verwendet man tatsächlich min().

.el {
  width: 75%;
  max-width: 600px;

  /* tighter, but the change from max to min feels weird */
  width: min(75%, 600px);
}

Die Funktionen min() und max() können mehr als zwei Werte annehmen, was cool ist, aber es ist schwer zu verstehen, was vor sich geht! Es wäre schön, wenn DevTools Ihnen sagen könnten, welchen Wert es zu einem bestimmten Zeitpunkt ausgewählt hat.

.el {
  width: min(100px, 25%, 50vh, 30ch);
}

Sie benötigen keine calc(), um darin zu rechnen!

.el {
  width: min(10vw + 10%, 100px);
}

Es ist verständlich, dass Sie einen Mindest- *und* Höchstwert festlegen möchten. Sie können die Funktionen dafür verschachteln, aber es ist mit clamp() weniger umwerfend zu tun.

.el {
  /* Note we're always using a relative unit somewhere
     so that zooming stays effective. */
  font-size: clamp(0.9rem, 1vw + 1rem, 2.2rem);
}

Hier ist das eingebettete Video

Direkter Link →