EM是为行高(EM's for line-height)

2019-07-20 17:17发布

我想从像素转换我的新网站,以EMS。 我的问题是,我应该也适用于EMS我的文字line-height属性?

Answer 1:

假设“转换为EMS”使用装置em单元,用于font-size ,那么就应该设置line-height在于还适应于字体大小的方式。 这两个属性是密切相关的,如果你把其中一个在em和其他(如)在pxpt ,然后如果字体大小改变时,页面将终止。 因此,它的工作对“使用EMS”使用本质的不同单位基本上是连接属性的想法。

例如,如果你设置font-size: 1.5emline-height: 18px ,那么事情将取决于元素的父的字体大小和可能会非常错误如果尺寸小很多或比预期的要大得多。

无论您使用em单位或纯数字是一个不同的问题。 使用只是一个数字,如line-height: 1.2 ,主要是相当于使用em单元,如line-height: 1.2em 。 但有区别的是,当line-height是继承,它是被继承了纯粹的数量,而不是计算值。

例如,如果内部元件具有它的父的字体大小的两倍,则该继承值1.2意味着,1.2倍其自身的字体大小被使用,其是确定。 但是,如果父母有line-height: 1.2em ,那么孩子将继承的值的1.2倍父的字体大小-这是比它自己的字体大小要小得多。

更多的解释最终的例子看到的line-height @ Mozilla开发者网络



Answer 2:

line-height可以在设置pxem的,每个单位将适合。

line-height效果最好,面向未来的,如果你使用一个因子/乘数,这意味着没有单位,而只是一个数字,乘以你的字体大小。

.foo {
  font-size: 1.3em; /* based that 1em == 10px */
  line-height: 1.3; /* 16.9px line-height */
}

所以,是的,你可以回答您的问题:不,你不应该。

刚去的基础因素的line-height是面向未来。



Answer 3:

建议使用的line-height的无量纲数(以防止继承问题)。 然后所计算的行高无单位的值乘以该元素的字体大小的产物

这可能是更方便的使用的font CSS快捷方式,像这样(来自Mozilla的CSS文档所采取的示例):

div { font: 10pt/1.2  Georgia,"Bitstream Charter",serif }

为什么无单位的值最好在这里给出一个很好的例子: 更喜欢的line-height值无单位的数字 。



Answer 4:

你可以尝试line-height:1.3 !important;



文章来源: EM's for line-height
标签: css fluid