4

我正在研究一个当前需要 IE 8 quirks 模式才能正确呈现的内部企业网站,并对其进行修改,使其以 IE 8 标准模式呈现。困扰我的一个问题是 font-size: large 的外观截然不同(可能还有其他字体设置,这是我注意到的第一个)。

使用此 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 中使用 quirks 模式与标准模式来查看它,以下是外观上的差异:

显然,整个网站的样式都是假设 quirks 模式的布局。我正在寻找的是:

  • 有关 IE 怪癖模式与标准模式如何区别对待字体的文档
  • 关于如何调整 CSS 使其呈现像以前一样的一些解释
  • 理想情况下,一些神奇的站点范围的 CSS 基本上使字体呈现,就好像怪癖模式仍在播放一样
4

4 回答 4

3

quirks 模式下 font-size 的问题在于,当使用 medium、large、x-large 等时,浏览器总是将字体显示为比标准模式大一级。

这意味着 quirks 模式下的 large 与标准模式下的 x-large 相同。

尝试将您的代码更改为:

<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 属性的关键字值

font-size 属性的 medium 值与默认的正常字体大小匹配。

该属性的关键字值包括 xx-small、x-small、small、medium、large、x-large 和 xx-large。对于早期版本的 Internet Explorer,这些值不是直观地定义的。medium 值不是默认的正常字体大小;小是默认值。

于 2013-06-05T14:55:21.823 回答
2

我不知道它是否会有所帮助,但您可以尝试使用 EMS 设置相对测量值

您可以使用 www.pxtoem.com 获取您的基本字体大小并将其设置为您可能需要的大小

然后在 html 元素上设置基本字体大小,如下所示 html { font-size:1em; }/* 1em 使所有元素的字体大小约为 16px,这通常是浏览器的默认值 */

然后,在要更改其大小的元素上再次设置字体大小,但尽量避免嵌套您的 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% 等。

PS { 永远不要将你的样式与 HTML 内联,我只是为了简洁起见}

希望这可以帮助

于 2013-06-05T13:17:25.163 回答
1

在 CSS (15pt) 中使用精确的字体大小而不是大字体可能会更好。

这是一些关于使用 doctype 强制浏览器模式的链接,这可能会有所帮助。此外,如果您使用的是 ASP.NET,您可能需要考虑设置 Meta 标记以强制在 IE 中输入文档类型。

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

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

于 2013-06-05T12:53:24.720 回答
-1

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

哦,我也会敦促您让您的组织尽快升级到 IE 10。当您这样做时,您将获得很多很棒的东西。

于 2013-06-05T14:45:44.777 回答