以 px 和 rem 为单位的字体大小:为什么将两者添加到同一元素?

Font-size in px and in rem: Why add both to the same element?

body,
button,
input,
select,
textarea {
  color: #404040;
  font-family: sans-serif;
  font-size: 16px;
  font-size: 1rem;
  line-height: 1.5; }

这是什么意思,它是如何工作的?

px 这是不支持 rem 单元的浏览器的回退(IE8 是一个值得注意的例子)。

查看 rem Can I Use... feature 浏览器支持。

任何不支持 rem 单位的浏览器将改为依赖 px 单位,防止浏览器将字体大小默认为任意大小。

当浏览器不支持时,

font-size像素将是 rem 的回退。

在这种情况下将是 IE8,或 IE9/10,如果使用 font shorthand 属性

正如其他人所说,这是后备。

同样重要的是要注意顺序很重要,如果两个声明颠倒了,那将毫无用处。

css 声明将字体大小设置为 16px,然后尝试用 1 rem 覆盖它。 如果浏览器不支持 rem,则不会发生覆盖。

当其中一个单元不起作用时,它将使用默认的那个...但是如果您按照您在代码中编写的那样编写并且两者都被允许,它将 select 那个是根据 Specificity 的规则在 CSS.

中是最新的