当html中引用外部css样式时,就不能通过document.style获取属性,而是需要通过document.stylesheets获取属性表对象即CSSStyleSheet对象,再从属性表对象中获取属性与操作方法。
获取属性的方法有两种:
1.cssRules
2.rules
通过打印cssText,可以清晰的知道两者的不同:
document.styleSheets[0].cssRules[0].cssText;
document.styleSheets[0].rules[0].cssText
看过其他人的博客是这么说的:
第一个观点:
cssRules的单位是是对整条规则,而rules的单位是一个选择器。
但就目前我的测试情况而言,cssRules 与 rules 针对我的第一条数据,即:
html,body{
margin: 0px;
padding: 0px;
width: 100%;
height: 100%;
}
是一样的结果,可能为浏览器目前都同步了对cssRules与rules的选取规则,即都选取第一条数据,而不是第一个选择器
第二个观点:
最好不要直接通过cssRules操作样式,这个更偏向于底层,一次性大量操作css规则的时候使用。
这个观点我不加评论,看个人意愿了。