getComputedStyle文本修饰继承

时间:2013-11-03 06:31:21

标签: javascript css google-chrome firefox

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

Firefox 25 GoogleChrome 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>

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

1 个答案:

答案 0 :(得分: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