css:margin属性同时使用px和rem

时间:2013-03-30 18:59:55

标签: css pixel css-rem

考虑以下css类定义,取自worpdress二十二主题:

.entry-header {
   margin-bottom: 24px;
   margin-bottom: 1.714285714rem;
}

为什么margin-bottom定义了两次,一次是px,一次是rem?浏览器会选择哪个单位?

5 个答案:

答案 0 :(得分:4)

我认为因为rem并非所有浏览器都支持。

请查看caniuse以详细了解浏览器支持。

所以他们为旧版本定义为px,为支持它的版本定义为rem

答案 1 :(得分:1)

有两种字体大小的声明,因为开发人员更喜欢浏览器使用'rem'单位,但如果浏览器不支持rem,它将回退到使用标准的'px'单位。

不支持'rem'单元的旧浏览器将忽略声明。

较新/当前的浏览器将使用“级联”并使用最后声明的任何测量单位。在这种情况下,使用'rem'进行大小调整。

答案 2 :(得分:0)

并非所有浏览器都支持rem单元 - 直到现在我才听说过它!不支持它的浏览器将使用px值。

答案 3 :(得分:0)

rem是CSS3中的一个新单元,它定义了根元素的字体大小(通常是文档的HTML元素)。由于它是一个新单元,所有浏览器都不支持,请参阅http://caniuse.com/#feat=rem,因此px值作为后备提供。如果支持rem,则使用该值,否则使用px值。

有关CSS长度单位的详细信息,请参阅https://developer.mozilla.org/en-US/docs/CSS/length

答案 4 :(得分:0)

简单的话......

Px 用于修复所有浏览器而不是IE。因为IE无法使用浏览器功能更改大小。

Em 整体无法在IE中重新调整文本大小一直是令人沮丧的。为了解决这个问题,我们可以使用em单位。

CSS3引入了一些名为“rem”的新单元,它代表“root em”。 em单位是相对于父级的字体大小,这会导致复合问题。 rem单元相对于root或html元素。