我在这里放了一个小测试用例:
基本上我设置了以下字体大小:
- * (一切):
12px
- 容器:
20px
- 测试元素:
inherit
DOM 层次结构是:容器>测试元素。
在 IE9 中,字体大小使用时报告为 12px,testEl.currentStyle.fontSize
但显示为 20px。在 Chrome 和 FF 中似乎很好。
有没有解决这个问题的方法?还是我做了一些非常愚蠢的事情?
我在这里放了一个小测试用例:
基本上我设置了以下字体大小:
12px
20px
inherit
DOM 层次结构是:容器>测试元素。
在 IE9 中,字体大小使用时报告为 12px,testEl.currentStyle.fontSize
但显示为 20px。在 Chrome 和 FF 中似乎很好。
有没有解决这个问题的方法?还是我做了一些非常愚蠢的事情?
尝试使用font-size: 1em
而不是使用inherit
.
这样做的原因是因为我发现这inherit
似乎在 IE 中存在问题。当我查看 IE9 时,它呈现得很好,但是由于某种原因testEl.currentStyle.fontSize
,$(testEl).css('font-size')
两者都返回了 12px。
我已经读过要使用字体大小:在 IE8 中继承,您需要指定一个!DOCTYPE,但是在 IE9 中应该没问题(http://www.w3schools.com/cssref/pr_font_font-size.asp) . 出于某种原因,testEl.currentStyle.fontSize
并$(testEl).css('font-size')
没有在 IE9 中获取正确的值。
当您将字体大小设置为 1em 时,您将其大小调整为父字体大小的 100%,在本例中为 20 像素。来自http://www.w3schools.com/cssref/css_units.asp:
1em 等于当前字体大小。2em 表示当前字体大小的 2 倍。例如,如果一个元素以 12 pt 的字体显示,那么 '2em' 就是 24 pt。'em' 在 CSS 中是一个非常有用的单位,因为它可以自动适应读者使用的字体
因此,computedStyle.fontSize
和$(testEl).css('font-size')
都应该返回 20px。
希望这可以帮助!