从XHTML1 Trans转换为HTML5 doctype后,行高不起作用

时间:2012-07-10 02:00:36

标签: html5 xhtml css

我一直在研究的网站最初是使用XHTML 1.0 Transitional创建的 - 但是,由于我不喜欢它,我转而使用HTML5 doctype。

当我刷新页面时,由于某种原因,页面上的文字会发生微妙的变化。

当行高在某个像素(通常是字体大小)下时,行高会停止工作。 这会抛弃我为登录用户设置的菜单的视觉对齐。 例如,如果font-size设置为14像素,line-height:14px;将显示与line-height:1px;完全相同的内容,当您知道1px应该具有重叠文本且任何字体大小超过1px时。

您可以在[已删除,已过期] - >中查看演示测试登录是:Te​​stPile / test。菜单显示您登录的位置(登录后)。

关于如何让线高度正常反应的任何想法?

2 个答案:

答案 0 :(得分:1)

HTML5 doctype是更现代的doctype,会在浏览器中导致标准模式。 XHTML 1.0 Transitional doctype导致有限的怪癖模式。您使用HTML5文档类型获得的行为是正确的,因此您确实要求"如何使行高表现得像不应该?"。这将很难。

这里描述了有限怪癖(又称几乎标准)与标准模式之间的行高计算差异:http://msdn.microsoft.com/en-us/library/ff405794%28v=vs.85%29

您需要接受标准模式行为并相应地调整布局。

答案 1 :(得分:0)

我有一个类似的问题。在怪癖模式中,<span>(和其他内联元素)的行高可以比其父行高。在HTML5模式下,它的工作方式不同。我切换到<div>那里将像以前一样处理行高。或者,您可以更改内联元素以使用display:inline-block