根据W3C定义CSS3 选择器:
在 CSS 中,选择器是一种模式,用于选择需要添加样式的元素。
- 基础选择器
- 层次选择器
- 伪类选择器
- 伪元素选择器
- 属性选择器
【基础选择器】
- 元素选择器(选择元素名) \ 如:p{color:red;}
- ID选择器(#号+ID名)\ 如:#csdn{color:black;}
- 类选择器(.+class名) \ 如:.csdn{color:blue;}
- 通配符选择器(选择全部元素,不建议使用)\如:* {color:green}
- 并集选择器/组合选择器(多个不同的标签,应用相同的样式/声明冲突时,需要分开计算)\如:p,h1,span{color:red;}
【层次选择器】
- 子级选择器 (元素之间用>分割)\如:p>span{color:red;}
- 后代选择器(元素之间用空格分隔)\如:section span{color:blue;}
- 兄弟选择武器(元素之间用+分隔)\如:h1+h2{color:green;}
【伪类选择器】
- 动态伪类选择器:(网络通用:·爱恨原则·)
动态伪选择器的书写顺序: 1、link和visited必须放在最前面(无先后顺序,静态伪类选择器)
2、link和visited只能用于a标签 3、link和visited后面是focus 4、focus后面是hover
5、hover后面是active
- 结构为类选择器
元素名:first-child第一个元素。
元素名:last-child最后一个元素。
元素名:nth-child(n)某一个元素 想选择第几个,n就取值多少。
元素名:nth-child(-n+m)选中前m个元素 n起始值是0。
元素名:nth-of-type(n) 选中第n个元素。
元素名:nth-last-child(n)选中倒数第n个元素.
- 否定伪类选择器
元素名:not(n)除了某个元素,其它元素添加样式
【伪元素选择器】(CSS创建的元素,都是选中元素的子元素)
- 元素名:before(元素的第1个子元素)
- 元素名:after(元素的最后1个子元素)
- 元素名:first-letter(元素的第1个字)
- 元素名:first-line(元素的第1个行)
- input::-webkit-input-placeholder(修改输入框提示信息样式)
【属性选择器】
元素名称[属性名+“属性值”]\如:input[type=“text”]
[扩展]
1.格式: 元素名[属性名^=属性值开头的内容]选中以XXX开头的元素
input[type^=“te”]+span{ color:red;}
2.格式: 元素名[属性名 $ =属性值结尾的内容]选中以XXX结尾的元素
input[type $ =“d”]+span{ color:blue;}
3.格式: 元素名[属性名* =属性值包含的内容]选中包含XXX的元素
input[type*=“i”]+span{ color:green;}