我正在努力建立一个内部企业网站,该网站目前需要IE 8怪癖模式才能正确呈现,并修改它以便在IE 8标准模式下呈现。困扰我的一个问题是字体大小的外观差别很大:大(可能还有其他字体设置,这是我注意到的第一个)。
使用此HTML作为示例:
<html>
<head>
<title>IE 8 Quirks Font Size</title>
<style type="text/css">
#testDiv
{
font-size: large;
}
</style>
</head>
<body>
<div id="testDiv">Here is some text</div>
<div>And some unstyled text</div>
</body>
</html>
如果你在IE 8中使用怪癖模式和标准模式来看一下,这就是外观上的区别:
显然,整个网站都采用了假设模式的布局。我想找的是:
答案 0 :(得分:3)
quirks模式下font-size的问题在于,当使用medium,large,x-large等时,浏览器总是将字体显示为比标准模式大一步。
这意味着大的怪癖模式与标准模式中的x大相同。
尝试将代码更改为:
<html>
<head>
<title>IE 8 Quirks Font Size</title>
<style type="text/css">
#testDiv
{
font-size: x-large;
}
</style>
</head>
<body>
<div id="testDiv">Here is some text</div>
<div>And some unstyled text</div>
</body>
</html>
这应该会在IE 8标准模式下给出与您当前的CSS在Quirks模式下相同的结果。
你可以在这里阅读: http://msdn.microsoft.com/en-us/library/bb250395(VS.85).aspx
字体大小属性的关键字值
font-size属性的中间值与默认法线匹配 字体大小。
此属性的关键字值包括xx-small,x-small,small, 中,大,x大,xx大。早期版本的 在Internet Explorer中,这些值未直观地定义。该 中值不是默认的普通字体大小;小就是 默认值。
答案 1 :(得分:2)
我不知道它是否会有所帮助,但您可以尝试使用EMS设置相对测量
您可以使用www.pxtoem.com来获取和设置您可能需要的基本字体大小
然后在html元素上设置你的基本字体大小
html { font-size:1em; }
/ * 1em使所有元素的字体大小约为16px,通常是浏览器默认值* /
然后只是在你想要改变它们的大小的元素上再次设置font-size,但是尽量避免嵌套你的EM字体大小,IE避免
<div class="parent" stlye="font-size: 1.5em;">
<div class="child-nested" style="font-size: 1.8em;"><!-- try to avoid this -->
</div>
</div>
最好在您的父级上设置字体大小,这样您就可以知道嵌套的位置,并尝试找出容器内的字体大小,这样您就可以更好地解决这个问题。用于重置为文档的根字体大小的REMS尚未得到足够的支持。
或者你可以按百分比增加字体大小,所以110%,120%等等。
P.S {永远不会把你的造型与HTML联系在一起,我只是为了简洁而这样做}
希望这会有所帮助
答案 2 :(得分:1)
您可能最好在CSS(15pt)中使用精确的字体大小而不是大。
以下是一些关于使用doctype强制浏览器模式的链接,可能会有所帮助。此外,如果您使用的是ASP.NET,您可能需要查看设置Meta标签以强制IE中的文档类型。
答案 3 :(得分:-1)
我建议选择一个CSS重置,网上有几个可用。这将设置您的基本字体以及应用程序的常见CSS起点。最后,我会告诉您如何使用基于em和%的可缩放字体大小。这是一个更高级的,但如果你给自己一个机会,你可以获得很好的使用经验。大多数情况下,这是一次试验和错误的练习,最终获得掌握CSS所需的信心。
哦,我也会推动你让你的组织尽快升级到IE 10。当你这样做时,你会有很多伟大的东西可供你使用。