我尝试在浏览器中规范化我的CSS时注意到的一个奇怪的事情是,h-elements和其他主要标记类型的默认行高属性在Chrome和Firefox等浏览器中有所不同,但未设置在用户代理级别:
此外,像normalize.css这样的流行规范化工具也没有处理这个问题。
所以我的问题分为两部分:
答案 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