Day 33: Mathematical expressions in min(), max(), clamp()

posted on

It’s time to get me up to speed with modern CSS. There’s so much new in CSS that I know too little about. To change that I’ve started #100DaysOfMoreOrLessModernCSS. Why more or less modern CSS? Because some topics will be about cutting-edge features, while other stuff has been around for quite a while already, but I just have little to no experience with it.


You can use full math expressions in the comparison functions min(), max(), and clamp(). There’s no need to nest a calc() function inside.

Writing…

div {
  border: max(20px, calc(1vw + 10px)) solid;
}

…is the same as writing…

div {
  border: max(20px, 1vw + 10px) solid;
}

You can also use custom properties.

.var {
  --extra: 10px;

  border-width: max(20px, 1vw + var(--extra));
}

Complex expressions are also possible.

div {
  width: clamp(50px * 4 * 1.5, (100% / 2) * 2, 400px * 2);
}

See on CodePen

Further reading

Overview: 100 Days Of More Or Less Modern CSS