CSS中的contain属性

html-css0153

CSS中的contain属性,第1张

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}