查找/设置css行高默认值

时间:2011-10-21 12:39:56

标签: cross-browser user-agent css

我尝试在浏览器中规范化我的CSS时注意到的一个奇怪的事情是,h-elements和其他主要标记类型的默认行高属性在Chrome和Firefox等浏览器中有所不同,但未设置在用户代理级别:

此外,像normalize.css这样的流行规范化工具也没有处理这个问题。

所以我的问题分为两部分:

  1. 如果未在用户代理级别设置行高,则默认值来自哪里?
  2. 我宁愿不自己规范行高,但如果必须的话,某些默认值的好例子在哪里?

1 个答案:

答案 0 :(得分:22)

我同意“事情并不完全相同”在某种程度上是一种愚蠢的行为,尤其是即使IE采用了相当不错的标准采用方式。

相对(120%,1,1em)行高值基于计算的字体大小,Normal应该基于字体大小,但它可以并且确实因浏览器而异,如您所见在FF和Chrome中打开此示例:http://jsfiddle.net/mahalie/BSMZe/6/

我通常会向HTML5 Boilerplate寻找有关最佳做法的队列,因为它非常受欢迎(因此经过严格的审查/审查。他们使用:

body { margin: 0; font-size: 13px; line-height: 1.231; }

他们对它的讨论很有意思,虽然没有透视是明显的赢家: https://github.com/h5bp/html5-boilerplate/issues/724