您的位置:首页 > Web前端 > CSS

CSS选择器

2016-02-05 17:16 363 查看

CSS选择器


以下大部分内容摘自张永民老师的课堂课件,也有对w3school.com.cn的参考,做了一定的整理和添加了一些自己的内容


选择器

基本选择器

名称例子作用
标签选择器
p {font-size: 14px;}
选择所有p元素
ID选择器
#start {font-weight: bold;}
选择id为start的元素
类选择器
.even {font-style: italic;}
选择所有类为even的元素

复合选择器

名称例子作用
派生选择器
p span {font-size: 14px;}
选择p元素的所有子孙元素中的span元素
子女选择器
p>span {font-size: 14px;}
选择p元素的所有子女元素中的span元素
组合选择器
p#start {font-size: 14px;}
选择id为start的p元素
群组选择器
em, .even {font-size: 14px;}
选择em元素或者类名为even的元素
相邻兄弟选择器
h1 + p {color:red;}
如果紧接着h1元素之后的h1的兄弟元素是p元素,它才会被选中
后续兄弟选择器
h1 ~ p {color:red;}
选择在 h1 元素之后所有h1的兄弟元素中的p元素
否定选择器
p:not(#start){ font-size:36px;}
选择所有id不是start的p元素

属性选择器

名称例子作用
属性存在选择器
[alt] { width:200px; }
选择所有具有属性alt的元素
元素属性选择器
img[alt] { width:200px; }
选择所有具有属性alt的img元素
属性值选择器
[alt="fig 2-1"] { width:20px; }
选择所有属性alt的值等于"figure 2-1"的元素
属性开头选择器
img[alt^="fig"] { width:20px; }
选择alt值以“figure”开头的所有img元素
属性结尾选择器
img[alt$="2-1"] { width:20px; }
选择alt值以“2-1”结尾的所有img元素
属性字符选择器
img[alt*="5-"] { width:20px; }
选择alt值包含字符串“5-”的所有img元素
属性单词选择器
img[alt~="fig"] { width:20px; }
选择alt值包含单词“figure”的所有img元素

nth-child子女选择器

名称例子作用
首位子女选择器
p:first-child {color:red;}
p的双亲的第一个子女
末位子女选择器
p:last-child {color:red;}
p的双亲的最后一个子女
特定子女选择器
p:nth-child(5) {color:red;}
p的双亲的第5个子女
偶数子女选择器
p:nth-child(even) color:red;}
p的双亲的第偶数个子女
奇数子女选择器
p:nth-child(odd) {color:red;}
p的双亲的第奇数个子女
公式子女选择器
p:nth-child(3n+1) {color:red;}
p的双亲的选择第3n+1(n>=0)个子女
双亲的各种类型的子女元素均参与计数,但是只有相应位置为元素p才会被选中

nth-of-type选择器

名称例子作用
首位子女选择器
p:first-type {color:red;}
p的双亲的第一个子女
末位子女选择器
p:last-type {color:red;}
p的双亲的最后一个子女
特定子女选择器
p:nth-type(5) {color:red;}
p的双亲的第5个子女
偶数子女选择器
p:nth-type(even) color:red;}
p的双亲的第偶数个子女
奇数子女选择器
p:nth-type(odd) {color:red;}
p的双亲的第奇数个子女
公式子女选择器
p:nth-type(3n+1) {color:red;}
p的双亲的选择第3n+1(n>=0)个子女
双亲的子女元素中只有p元素参与计数

伪元素选择器

名称例子作用
首字母选择器
p:first-letter {font-size:2em;}
p元素内容的第一个字母
首行选择器
p:first-line {color:red;}
p元素内容的第一行
末尾选择器
p:after {content:"...";}
在p元素内容之后插入内容
...
开头选择器
p:before {content:"***";}
在p元素内容之前插入内容
***
插入后的内容也算作p元素的内容,能够被javascript代码控制

伪类选择器

名称例子作用
链接选择器
a:link {color:blue;}
没有访问过的链接
历史选择器
a:visited {color:red;}
访问过的链接
悬浮选择器
a:hover {font-size:2em;}
鼠标悬浮下的元素
点击选择器
a:active {color:green;}
鼠标摁下时的链接
焦点选择器
input:focus {background-color:red;}
获得焦点的元素
已选选择器
::selection
为选中的文本设置样式
全局选择器
*
所有元素

样式层叠

选择器的特殊性的值可以由下面规则确定:

对于ID选择器,每个特殊性加(0,1,0,0)

对于类选择器、属性选择器、伪类选择器,每个特殊性加(0,0,1,0)

对于标签选择器和伪元素选择器,每个特殊性加(0,0,0,1)

每个元素只能定义一个行内样式,行内样式的特殊性为(1,0,0,0)

结合符和通配选择器,对特殊性没有任何贡献,即其特殊性为(0,0,0,0)

继承得来的选择器没有任何特殊性,即其特殊性为(0,0,0,0)

加上!important的样式具有最高特殊性

特殊性比较:

( 0,1,0,0 ) > ( 0,0,2,0 )

( 0,0,2,1 ) > ( 0,0,2,0 )

例子:

样式特殊性
p {color:blue}
(0,0,0,1)
body p {color:red}
(0,0,0,2)
h1.hot {color:green}
(0,0,1,1)
p#start {color:black}
(0,1,0,1)
body>div ul li[id="files"] ul li:hover {color:yellow}
(0,0,2,6)
p {color:blue!important;}
(inf, inf, inf, inf)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: