contain属性的作用 :向浏览器解释网页的布局,让浏览器可以据此做一些性能优化。如果你的网页是静态网页,浏览器只需要在加载页面的时候做一次渲染,那么contain属性就没什么作用了。
contain属性的取值 :
参考: https://www.smashingmagazine.com/2019/12/browsers-containment-css-contain-property/
1.通配选择符
语法:
* { sRules }
说明:
通配选择符。选定文档目录树(DOM)中的所有类型的单一对象。
假如通配选择符不是单一选择符中的唯一组成,“*”可以省略。
示例:
*[lang=fr] { font-size:14pxwidth:120px}
*.div { text-decoration:none}
2.类型选择符
语法:
E { sRules }
说明:
类型选择符。以文档语言对象(Element)类型作为选择符。
示例:
td { font-size:14pxwidth:120px}
a { text-decoration:none}
3.属性选择符
语法:
E [ attr ] { sRules }
E [ attr = value ] { sRules }
E [ attr ~= value ] { sRules }
E [ attr |= value ] { sRules }
说明:
属性选择符。
选择具有 attr 属性的 E
选择具有 attr 属性且属性值等于 value 的 E
选择具有 attr 属性且属性值为一用空格分隔的字词列表,其中一个等于 value 的 E 。这里的 value 不能包含空格
选择具有 attr 属性且属性值为一用连字符分隔的字词列表,由 value 开始的 E
示例:
h{ color: blue} /* 所有具有title属性的h对象 */ span[class=demo] { color: red} div[speed=fast][dorun=no] { color: red} a[rel~=copyright] { color:black} 4.包含选择符语法:E1 E2 { sRules }说明:包含选择符。选择所有被 E1 包含的 E2 。即 E1.contains(E2)==true 。 示例: table td { font-size:14px}
div.sub a { font-size:14px}
5.子对象选择符
语法:
E1 >E2 { sRules }
说明:
子对象选择符。选择所有作为 E1 子对象的 E2 。
示例:
body >p { font-size:14px}
/* 所有作为body的子对象的p对象字体尺寸为14px */
div ul>li p { font-size:14px}
6.ID选择符
语法:
#ID { sRules }
说明:
ID选择符。以文档目录树(DOM)中作为对象的唯一标识符的 ID 作为选择符。
示例:
#note { font-size:14pxwidth:120px}
7.类选择符
语法:
E.className { sRules }
说明:
类选择符。在HTML中可以使用此种选择符。其效果等同于E [ class ~= className ] 。请参阅属性选择符( Attribute Selectors )。
在IE5+,可以为对象的 class 属性(特性)指定多于一个值( className ),其方法是指定用空格隔开的一组样式表的类名。例如:<div class=class1 class2>。
示例:
div.note { font-size:14px}
/* 所有class属性值等于(包含)note的div对象字体尺寸为14px */
.dream { font-size:14px}
/* 所有class属性值等于(包含)note的对象字体尺寸为14px */
8.选择符分组
语法:
E1 , E2 , E3 { sRules }
说明:
选择符分组。将同样的定义应用于多个选择符,可以将选择符以逗号分隔的方式并为组。
示例:
.td1,div a,body { font-size:14px}
td,div,a { font-size:14px}
9.伪类及伪对象选择符
语法:
E : Pseudo-Classes { sRules }
E : Pseudo-Elements { sRules }
说明:
伪类及伪对象选择符。
伪类选择符。请参阅伪类( Pseudo-Classes )[:link :hover :active :visited :focus :first-child :first :left :right :lang]。
伪对象选择符。请参阅伪对象( Pseudo-Elements )[:first-letter :first-line :before :after]。
示例:
div:first-letter { font-size:14px}
a.fly :hover { font-size:14pxcolor:red}