08 CSS的复合选择器

121 阅读4分钟

技术交流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

6.资料下载