![](/img/trans.png)
[英]window.getComputedStyle not working for shorthand properties in other browsers except Chrome
[英]Explanation on window.getComputedStyle and why Chrome handles it differently
由于Chrome Stable登陆版本33.0.1750.117 ,因此window.getComputedStyle的逻辑已从其他浏览器更改。 下面的代码小提琴: http : //jsfiddle.net/HD4bD/17/
任何人都可以解释变化的内容以及对此的“正确”裁决是什么?
鉴于以下内容:
<body>
<div class="normal"></div>
<div class="display-none"></div>
<div class="visibility-hidden"></div>
</body>
.normal:before {
content: "NORMAL: "
}
.display-none:before {
content: "DISPLAY-NONE: ";
display: none;
}
.visibility-hidden:before {
content: "VIS-HIDDEN: "
visibility: hidden;
}
var $ = document.querySelector.bind(document),
pass = "This text should have 1 or more labels before it",
fail = "The label is missing. Something's wrong.",
normalContent = getB4Content('.normal'),
dNoneContent = getB4Content('.display-none'),
vHideContent = getB4Content('.visibility-hidden');
function getB4Content(selector){
return window.getComputedStyle($(selector),':before').getPropertyValue('content');
}
$('.normal').innerHTML = normalContent === '' ? fail : normalContent + pass;
$('.display-none').innerHTML = dNoneContent === '' ? fail : dNoneContent + pass;
$('.visibility-hidden').innerHTML = vHideContent === '' ? fail : vHideContent + pass;
Firefox v27:
NORMAL:“NORMAL:”此文本前面应有一个或多个标签
“DISPLAY-NONE:”此文本前面应该有一个或多个标签
none此文本前面应该有一个或多个标签
IE 11 NORMAL:“NORMAL:”此文本前面应有1个或多个标签
“DISPLAY-NONE:”此文本前面应该有一个或多个标签
none此文本前面应该有一个或多个标签
Chrome v33
NORMAL:“NORMAL:”此文本前面应有一个或多个标签
标签丢失了。 出了点问题。
标签丢失了。 出了点问题。
这似乎是一个报告的Chromium bug 。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.