Javascript 可继承的CSS属性是否应接受值“;首字母”;?
在Chrome和Safari中,如果我们为可继承的CSS属性指定Javascript 可继承的CSS属性是否应接受值“;首字母”;?,javascript,html,css,Javascript,Html,Css,在Chrome和Safari中,如果我们为可继承的CSS属性指定initial,它将选择initial值 但如果我们在FireFox、IE或Opera中为可继承的CSS属性指定initial,它将完全拒绝该值分配 这里的正确行为是什么 : 1111 2222 document.write(document.getElementById(“d2”).style.color); 初始值似乎为 由于CSS3(相对而言)是新的,而且仍然易于更改,我怀疑并非所有浏览器都是标准化的最新版本 如所述:对同一
initial
,它将选择initial
值
但如果我们在FireFox、IE或Opera中为可继承的CSS属性指定initial
,它将完全拒绝该值分配
这里的正确行为是什么
:
1111
2222
document.write(document.getElementById(“d2”).style.color);
初始值似乎为
由于CSS3(相对而言)是新的,而且仍然易于更改,我怀疑并非所有浏览器都是标准化的最新版本
如所述:对同一属性有多个定义是标准的一部分,最后一个定义应获胜。因此,根据示例中的标准,#d2
的颜色属性应该具有初始值,即红色。显示蓝色的浏览器不完全/正确地支持标准。“我不知道允许同一属性的多个定义是否属于标准的一部分,以及如何处理它。”-是的。在一个街区内,最后一个获胜。(我认为这就是规范所暗示的,而浏览器似乎也是如此。)因此对于上面的代码,div#d2
应该在不支持initial
的浏览器中以蓝色结尾。@Paul D.Waite:正确。还有,如果有任何!同一块中的重要声明,最后一个!重要信息
one wins(IE6除外)。@Paul D.Waite:谢谢你的补充,我更新了我的答案以确保完整性。
<!doctype html>
<div style="color:red;">1111
<div id="d2" style="color:blue;color:initial;">2222</div>
</div>
<script>
document.write(document.getElementById("d2").style.color);
</script>