无单位线高度而不是rem线高的好处

时间:2014-08-21 15:56:38

标签: html css

我正在考虑将line-height设置从rem切换为无单位。

我正在努力理解为什么我应该这样做才能获得继续使用rems的好处,例如,是否有性能/渲染优势,还是无响应的响应?

目前我的主要好处是减少了必需的px后备声明。 由于rempx单位之间的支持大致相同,因此rem值与em后备使用em值。

对于嵌套元素,将em值重置为1也很麻烦。我觉得这与为嵌套元素声明px重置一样重要,就像rem后备一样。

此外,ie的旧版本忽略px属性/值并回退到font-size属性/值。

这就是我为文本元素声明line-heightbody { font-size: 16px; font-size: 1.6rem; /* 16px */ line-height: 25px; line-height: 2.5rem; /* 25px */ } 的方式。

font-size

目前,我的正文line-heighthtml { font-size: 62.5%; /* reset font-size to 10px */ } body { font-size: 1.6rem; /* 16px */ line-height: 2.5rem; /* 25px */ } 是:

html {
   font-size: 62.5%; /* reset fon- size to 10px */
}

body {
    font-size: 1.6rem; /* 16px */
    line-height: 1.66667; /* 2.5rem / 25px*/
}

转向此有什么好处?

h1

如果我有h1 { font-size: 3.0rem; /* 30px */ line-height: 3.6rem; /* 36px */ } 这样的设置

line-height

我还需要声明一个h1 { font-size: 3.0rem; /* 30px */ /* line-height: 50px; (inherited from body line-height (1.66667) */ } 其他明智的继承值变得有点疯狂

line-height

所以我宣布一个可接受的h1 { font-size: 3.0rem; /* 30px */ line-height: 1.2; /* 3.6rem / 36px */ }

line-height

大!但是,如果我仍然需要申报line-height,那么切换到无单位会有什么好处?

另外,当我使用rem垂直对齐容器中的某些文本时,我应该使用无单位,请坚持使用.my-container { display: block; font-size: 1.6rem; line-height: 4.0rem; } ,因为它是特定的高度。

p

我假设经验法则是将无单位高度分配给h1h2,{{1}}等文本对象。

这是一个展示无单元实现的代码 http://codepen.io/onebitrocket/pen/qLzlc

任何想法都将不胜感激

由于

1 个答案:

答案 0 :(得分:0)

由于您担心我只能假设为行高,因此允许执行无单位行高时段。基本上,计算出的高度将取决于计算出的字体大小。

div{
   font-size: 1.6rem;
   line-height: 4; // should be the exact same as 4.0rem;
}

我个人不喜欢使用rems,因为你看到他们确实需要很多后备和已知的计算。并非所有开发人员都使用rems标准,因为它尚未被接受为标准。如果确实如此,那么使用它可能会更好,因为它可以帮助提高响应速度,但是对于媒体查询,您不必担心网站的响应能力。

我是推送px的人。只是一种非常有效的首选方法。 EMs和REM让我头疼,因为它们在每种情况下都不能完美地运作。我可以预测像素而不用担心有人改变一个值并打破其他一切。

只是一个想法。