css 选择符

177 阅读3分钟

1.元素选择符

通配选择符  *{ sRules }
类型(标签)选择符   h1{} h2{}
ID选择符    #idName
类选择器    .className

2.关系选择符

包含选择符  E F {}
包含选择符将会命中所有符合条件的后代,包括儿子,孙子,孙子的孙子

子选择符 E>F { }
子选择符只能命中子元素,而不能命中孙辈

相邻选择符E+F{} 
邻选择符只会命中 紧挨着E元素之后的第一个F元素

兄弟选择符 E~F{} (在座所有的不分远近都是兄弟)
选择E元素后面的所有兄弟元素F,元素E与F必须同属一个父级

3.属性选择符

E[att] { sRules }
选择具有att属性的E元素。

E[att="val"] { sRules }
选择具有att属性且属性值等于val的E元素。

E[att~="val"] { sRules }
属性值中 有 val ,val用空格与其他的值隔开 如<li><a href="?" class="tal external ">外部链接</a></li>

E[att^="val"] { sRules } 开头val值
选择具有att属性且属性值为以val开头的字符串的E元素。

E[att$="val"] { sRules } 结尾val值
选择具有att属性且属性值为以val结尾的字符串的E元素。

E[att*="val"] { sRules } 所有包含val值
选择具有att属性且属性值为包含val的字符串的E元素。

4.伪类选择符

a:link {} 设置超链接a在未被访问前的样式。
a:visited {} 设置超链接a在其链接地址已被访问过时的样式
a:hover {}设置元素在其鼠标悬停时的样式。
a:active {}设置元素在被用户激活(在鼠标点击与释放之间发生的事件)时的样式

E:first-child { } E必须是父元素的第一个子元素,否则失效
E:last-child{} E必须是父元素的最后一个子元素
E:only-child { sRules } 匹配父元素仅有的一个子元素E。父元素不可用其他元素

E:nth-child(n) {} 匹配父元素的第n个子元素E,假设该子元素不是E,则选择符无效
该选择符允许使用一个乘法因子(n)来作为换算方式

E:nth-last-child(n) { sRules }
匹配父元素的倒数第n个子元素E,假设该子元素不是E,则选择符无效

E:first-of-type { sRules }
该选择符总是能命中父元素的第1个为E的子元素,不论第1个子元素是否为E

E:last-of-type { sRules }
选择符总是能命中父元素的倒数第1个为E的子元素,不论倒数第1个子元素是否为E

E:only-of-type { sRules }
该选择符总是能命中父元素的唯一同类型子元素E,不论该元素的位置

E:nth-of-type(n) { sRules }
该选择符总是能命中父元素的第n个为E的子元素,不论第n个子元素是否为E

E:nth-last-of-type(n) { sRules }
该选择符总是能命中父元素的倒数第n个为E的子元素,不论倒数第n个子元素是否为E

E:disabled { sRules }
匹配用户界面上处于禁用状态的元素E。

可继承的属性:font-size, font-family, color

不可继承的样式:border, padding, margin, width, height

优先级(就近原则):!important > [ id > class > tag ] !important 比内联优先级高

5、CSS优先级算法如何计算?

元素选择符: 1 class选择符: 10 id选择符:100 元素标签:1000

!important声明的样式优先级最高,如果冲突再进行计算。

如果优先级相同,则选择最后出现的样式。

继承得到的样式的优先级最低。

:enabled :disabled 表单控件的禁用状态。 :checked 单选框或复选框被选中。