【问题标题】:Font size in Internet Explorer is differentInternet Explorer 中的字体大小不同
【发布时间】:2017-07-13 19:58:55
【问题描述】:

我有以下css

html {
  font-size: 62.5%; // 100% is 16px, this value will 10px
}

当我在所有其他浏览器中检查页面上的文本时,它给了我10px。但是 Internet Explorer 11 提供了9.93px

据我了解,它正在发生,因为 IE truncates fractional values,实际上将我的属性解释为 font-size: 62%

这是一个演示,你可以试试:https://jsfiddle.net/vcod81vy/

您有什么想法可以使它保持一致吗?

附:我不能使用硬编码的 10px 值,因为我需要构建可访问的 Web 界面,该界面支持从浏览器设置中覆盖字体,就像它所描述的 here

【问题讨论】:

  • 使用的IE版本是什么?根据msdn.microsoft.com/en-us/library/ms530759(v=vs.85).aspx 接受浮点值。如果这种行为在最新的 IE 版本中仍然存在,请尝试使用 calc()?
  • 更新问题,我只支持最新的IE11,问题依旧。您能否详细说明calc 方法?
  • 我不是 IE-pro,但 calc() 执行计算并接受像素和百分比。见w3schools.com/cssref/func_calc.asp。我不确定,但也许你可以欺骗 IE 的行为......如果它有帮助,我会发布作为答案。
  • 你能用 vw,vh 代替 % 吗?
  • @Fabien,我尝试设置font-size: calc(10em / 16),它有效。这种方法而不是百分比有什么缺点吗?

标签: html css internet-explorer


【解决方案1】:

根据http://msdn.microsoft.com/en-us/library/ms530759(v=vs.85).aspx 接受浮点值。

如果此行为在最新的 IE 版本中仍然存在,请尝试使用 calc()。

找到的解决方案是:font-size: calc(10em / 16)

calc() 没有任何缺点,只是旧版浏览器可能无法很好地支持它。

【讨论】:

    猜你喜欢
    • 2012-08-05
    • 1970-01-01
    • 2014-06-12
    • 2011-05-03
    • 2012-11-24
    • 2012-11-04
    • 2013-04-12
    • 2012-02-24
    • 2015-05-04
    相关资源
    最近更新 更多