font-size:在IE 8怪癖与标准模式下,大看起来不同

时间:2013-06-05 12:47:54

标签: html css internet-explorer quirks-mode

我正在努力建立一个内部企业网站,该网站目前需要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中使用怪癖模式和标准模式来看一下,这就是外观上的区别:

显然,整个网站都采用了假设模式的布局。我想找的是:

  • 有关IE怪癖模式与标准模式如何区别对待字体的文档
  • 关于如何调整CSS以使其呈现像以前一样
  • 的一些解释
  • 理想情况下,一些魔法网站范围的CSS基本上使字体渲染,好像怪癖模式仍然在发挥作用

4 个答案:

答案 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中的文档类型。

http://hsivonen.iki.fi/doctype/

http://www.quirksmode.org/css/quirksmode.html

答案 3 :(得分:-1)

我建议选择一个CSS重置,网上有几个可用。这将设置您的基本字体以及应用程序的常见CSS起点。最后,我会告诉您如何使用基于em和%的可缩放字体大小。这是一个更高级的,但如果你给自己一个机会,你可以获得很好的使用经验。大多数情况下,这是一次试验和错误的练习,最终获得掌握CSS所需的信心。

哦,我也会推动你让你的组织尽快升级到IE 10。当你这样做时,你会有很多伟大的东西可供你使用。