【读书笔记】DOM2级中关于几种CSS实例的理解

来源:互联网 发布:windows游戏栏打不开 编辑:程序博客网 时间:2024/06/07 09:25

之前对DOM2里CSS规则这个概念总是一知半解,几种CSS类型也傻傻分不清:CSSStyleDeclaration类型,CSSStyleSheet类型,CSSRule类型,现在自己总结一下。

1、CSSStyleDeclaration 表示一个CSS属性键值对的集合。元素的style属性只有行内样式的信息,是CSSStyleDeclaration的实例,不包含嵌入样式和外联样式

如:div.style.width = 100px; 


2、通过document.defautView.getComputedStyle()方法得到的同样是CSSStyleDeclaration实例。

3、CSSStyleSheets类型,表示样式表,其中最重要一属性为cssRules(IE不支持,有一类似的rules属性),表示样式表中包含的样式规则的集合。

得到CSSStyleSheets类型的方法:document.styleSheets。

首先取得样式表,即CSSStyleSheets类型: var sheets = document.styleSheets;

取得第一个样式表: var sheet  = sheets[0]; (或sheets.item(0))
获取样式规则,CSSStyleRules类型,继承了CSSRule类: var rules = sheet.cssRules || sheet.rules;

第一条规则: var rule = rules[0];


我的理解是,通俗易懂的说CSSRule对象就是我们CSS代码中的一段如:

 .myclass {

background: #EFC url('someurl') no-repeat;

}

以上整个代码就是一个CSSRule对象,表示一条CSS规则。