我正在考虑将line-height
设置从rem
切换为无单位。
我正在努力理解为什么我应该这样做才能获得继续使用rems的好处,例如,是否有性能/渲染优势,还是无响应的响应?
目前我的主要好处是减少了必需的px
后备声明。
由于rem
和px
单位之间的支持大致相同,因此rem
值与em
后备使用em
值。
对于嵌套元素,将em
值重置为1也很麻烦。我觉得这与为嵌套元素声明px
重置一样重要,就像rem
后备一样。
此外,ie的旧版本忽略px
属性/值并回退到font-size
属性/值。
这就是我为文本元素声明line-height
和body {
font-size: 16px;
font-size: 1.6rem; /* 16px */
line-height: 25px;
line-height: 2.5rem; /* 25px */
}
的方式。
font-size
目前,我的正文line-height
和html {
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
我假设经验法则是将无单位高度分配给h1
,h2
,{{1}}等文本对象。
这是一个展示无单元实现的代码 http://codepen.io/onebitrocket/pen/qLzlc
任何想法都将不胜感激
由于
答案 0 :(得分:0)
由于您担心我只能假设为行高,因此允许执行无单位行高时段。基本上,计算出的高度将取决于计算出的字体大小。
div{
font-size: 1.6rem;
line-height: 4; // should be the exact same as 4.0rem;
}
我个人不喜欢使用rems,因为你看到他们确实需要很多后备和已知的计算。并非所有开发人员都使用rems标准,因为它尚未被接受为标准。如果确实如此,那么使用它可能会更好,因为它可以帮助提高响应速度,但是对于媒体查询,您不必担心网站的响应能力。
我是推送px的人。只是一种非常有效的首选方法。 EMs和REM让我头疼,因为它们在每种情况下都不能完美地运作。我可以预测像素而不用担心有人改变一个值并打破其他一切。
只是一个想法。