技术交流QQ群:1027579432,欢迎你的加入!
1.什么是复合选择器
- 在CSS中,可以根据选择器器的类型把选择器分为基础选择器和复合选择器,复合选择器是建立在基础选择器的基础之上,对基础选择器进行组合形成的;
- 复合选择器可以更加准确、更加高效的选择目标元素(标签);
- 复合选择器是由两个或多个基础选择器通过不同的方式组合而成的;
- 常用的复合选择器主要包括:
- 后代选择器
- 子选择器
- 并集选择器
- 伪类选择器
2.后代选择器[重要]
- 后代选择器也称为包含选择器,可以选择父元素里面的子元素。其写法就是把外层标签写在外面,内层标签写在后面,中间用空格分开。当标签发生嵌套时,内层标签就成为外层标签的后代。
- 语法格式:
元素1 元素2 { 样式声明; }
- 上述语法表示选择元素1中所有的元素2(后代元素)。
- 例如:
ul li { 样式声明; /* 将ul中包含所有的li标签元素选中 */ }
- 元素1和元素2中间一定要用空格隔开!!!
- 元素1是父级,元素2是子级,最终选择的是元素2。
- 元素1和元素2可以是任意基础选择器。
1.2 子选择器[重要]
- 子元素选择器(子选择器)只能选择作为某个元素的最近一级子元素。简单理解就是选亲儿子元素。
- 语法格式:
元素1>元素2 { 样式声明; }
- 例如:
div>p { 样式声明; /* 选择div中所有最近一级p标签元素 */ }
- 元素1和元素2中间用大于号隔开;
- 元素1是父级,元素2是直接子级,最终选择的是元素2;
- 元素2必须是亲儿子,器孙子、重孙子之类的都不归它管,你也可以叫它亲儿子选择器。
3.并集选择器[重要]
- 并集选择器可以选择多组标签,同时为它们定义相同的样式,通常用于集体声明。
- 并集选择器是各选择器通过逗号,连接而成,任何形式的选择器都可以作为并集选择器的一部分;
- 语法格式:
元素1,元素2 { 样式声明; }
- 上面的语法表示选择元素1和元素2。
- 例如:
ul,div { 样式声明; /* 选择ul个div标签元素 */ }
- 元素1和元素2中间用逗号隔开,逗号可以理解为和的意思,并集选择器通常用于集体声明。
4.伪类选择器[重点]
- 伪类选择器用于向某些选择器添加特殊的效果,比如给链接添加特殊效果,或选择第1个,第n个元素。
- 伪类选择器书写最大的特点是用冒号:表示,比如:hover、:first-child。
- 因为伪类选择器有很多,比如链接伪类、结构伪类等,所以先介绍常用的链接伪类选择器。
4.1 链接伪类选择器[重点]
- 语法格式:
a:link /* 选择所有未被访问的链接 */ a:visited /* 选择所有已被访问的链接 */ a:hover /* 选择鼠标指针位于其上的链接 */ a:active /* 选择活动链接(鼠标按下未弹起的链接) */
- 链接伪类选择器的注意事项:
- 为了确保生效,请按照LVHA的顺序声明:link、:visited、:hover、:active;
- 记忆法:lv包包hao;
- 因为a链接在浏览器中具有默认样式,所以在实际开发中都需要给链接单独指定样式;
- 链接伪类选择器在实际开发中的写法:
/* a是标签选择器 所有的链接 */ a { color: gary; } /* :hover是链接伪类选择器 鼠标经过 */ a:hover { color: red; /* 鼠标经过时,由原来的灰色变成红色 */ }
4.2 :focus伪类选择器
- :focus伪类选择器用于选取获得焦点的表单元素。
- 焦点就是光标,一般情况下<input>类表单元素才能获取,因此这个选择器也主要针对表单元素来说。
input:focus { backgroud-color: yellow; }
5.复合选择器总结
复合选择器总结.png