min()、max() 和 clamp() 是 CSS 魔法!

Avatar of Chris Coyier
Chris Coyier

DigitalOcean 为您旅程的每个阶段提供云产品。 立即开始使用 200 美元的免费信用额度!

不错的视频 来自 Kevin Powell。以下是一些笔记、想法以及我在观看过程中学到的一些东西。刚推出时,我主要痴迷于font-size的使用,但它们只是函数,因此可以在任何使用数字的地方使用,例如 长度

有时非常基本的使用允许更简洁的代码,但实现它的变化让人感觉有点令人费解。例如,如何在这里设置“最大值”,您实际上使用的是min()

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

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

min()max() 函数可以接受两个以上的值,这很酷,但很难记住发生了什么!如果 DevTools 可以在任何给定时间告诉您它选择了哪个值,那就太好了。

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

您不需要calc()在内部进行数学运算!

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

您可能希望设置最小值最大值是合理的。您可以嵌套这些函数来实现此目的,但使用clamp()实现起来不那么令人费解。

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

以下是嵌入的视频

直接链接→