0

getComputedStyle无法text-decoration继承属性,但可以获取font-size.

在Firefox 25GoogleChrome 30中失败。

注意:在Internet Explorer 10中工作!

<!DOCTYPE html>
<html>
    <style>
        #parent
        {
            font-size: 38px;
            text-decoration: underline;
        }
    </style>
<body>
    <div id="parent">
        <p id="child">Test</p>
    </div>
    <script>
        var elem = document.getElementById("child");

        document.write("text-decoration:"+window.getComputedStyle(elem).getPropertyValue("text-decoration"));
        document.write("<br>");
        document.write("text-decoration:"+document.defaultView.getComputedStyle(elem).getPropertyValue("text-decoration"));
        document.write("<hr>");
        document.write("font-size:"+window.getComputedStyle(elem).getPropertyValue("font-size"));
        document.write("<br>");
        document.write("font-size:"+document.defaultView.getComputedStyle(elem).getPropertyValue("font-size"));
    </script>
</body>
</html>

这是我的错,还是浏览器失败了?

4

1 回答 1

2

text-decoration不应该继承,即使父文本装饰会影响子文本。这与font-size继承不同。

话虽如此,这绝对看起来像一个 IE 错误。虽然window.getComputedStyle()在 IE10 中报告为继承,但有趣的是 F12 开发人员工具另有说明。

参考:

https://developer.mozilla.org/en-US/docs/Web/CSS/text-decoration

http://reference.sitepoint.com/css/text-decoration

于 2013-11-03T06:49:09.157 回答