【问题标题】:How to specify another font size for IE7 and IE8如何为 IE7 和 IE8 指定其他字体大小
【发布时间】:2014-08-31 09:29:49
【问题描述】:

假设我有一个指定字体大小、颜色和其他属性的类:

.myFont { 颜色:#F00; 字体家族:宋体; 字体大小:15px; }

所以我把它应用到一个

标签,我希望 IE7 和 IE8 的大小为 13px,而不是 15px。我怎样才能轻松做到这一点。

编辑:

有什么办法不包括任何新的 .css 文件?

【问题讨论】:

    标签: html css internet-explorer fonts


    【解决方案1】:

    您需要指定一个仅由 IE 加载的样式表,例如使用this tutorial。

    然后您可以在 IE 样式表中覆盖基本样式表中的字体大小。

    【讨论】:

    • 这我知道。有什么办法不包括任何新的 .css 文件?
    • 这是对 IE 用户的额外要求,但那又怎样?为什么不能使用额外的样式表?您可以使用 JavaScript 为 IE 用户动态更改样式,但这是非常糟糕的做法。
    • 好的! .myFont{ 字体大小:15px; font-size:13px\9;} 应该对我有用,不是吗?但它也影响IE9。如何避免这种情况?
    • 为不同浏览器创建不同样式的简洁方法是使用单独的样式表。 IMO 其他一切都将是一个令人讨厌的、不可靠的黑客攻击。
    • 但我尝试过单独的一个,即使是 !重要,但它不会覆盖现有样式。
    【解决方案2】:

    使用Conditional Comments。它们允许您为不同版本的 IE 浏览器指定不同或附加的 CSS。仅在 IE 中工作。也就是说,只有 IE 对 cme​​ts 进行了特殊处理。其他人只是将它们视为 cmets。

    【讨论】:

      【解决方案3】:

      如果您需要为所有浏览器使用一个通用样式表,您可以使用BODY:last-child 前缀来过滤除 IE6/7/8 以外的浏览器。它是一个标准的伪类,在 IE8 及更低版本中不被支持,因此在未来不需要单独的样式表文件来定位 IE8 及更低版本。

      所以你可以先为所有浏览器指定样式包括IE8及更低版本,然后为现代浏览器覆盖它:

      .example {/* styles for all browsers */}
      
      BODY:last-child .example {/*
          styles for browsers other than IE6/7/8.
      */}
      

      【讨论】:

      • 哇,这我不知道。那好美丽。谢谢!
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-07-25
      • 2012-01-28
      • 1970-01-01
      • 1970-01-01
      • 2014-11-15
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多