css:复合选择器(后代、子选择器、并集、伪类)

2021-02-13 08:18

阅读:598

标签:鼠标指针   meta   over   active   epp   标签   很多   定义   效果   

1、什么是复合选择器

在css中,可以根据选择器的类型,把选择器分为基础选择器和复合选择器,复合选择器是建立在基础选择器之上的,对基础选择器进行组合形成的

复合选择器可以更准确、更高效的选择目标元素(标签)

复合选择器是由两个或多个基础选择器,通过不同的方式组合而成的

常用的复合选择器:后代选择器、子选择器、并集选择器、伪类选择器等等

 

2、后代选择器

(1)后代选择器又称为包含选择器,可以选择父元素里面的子元素。其写法就是把外层标签写在前面,内层标签写在后面,中间用空格分隔。当标签发生嵌套时,内层标签就发生外层标签的后代

(2)举例

html>
    head>
        meta charset="utf-8">
        title>title>
        style>
            ol li{
                color: red;
            }
        style>
    head>
    div>div>

    body>
        ol>
            li>星期一li>
            li>星期二li>
            li>星期三li>
            li>星期四li>
        ol>
    body>

html>

元素一是父亲,元素二是孩子,最终修改的是元素二(孩子,可以是儿子、孙子... ...)

技术图片

html>
    head>
        meta charset="utf-8">
        title>title>
        style>
            ol li a{
                color: red;
            }
        style>
    head>
    div>div>

    body>
        ol>
            li>a href="#">星期一a>li>    
        ol>
    body>

html>

技术图片

 

 区分两个相同的标签元素:

html>
    head>
        meta charset="utf-8">
        title>title>
        style>
            ol li a{
                color: red;
            }
            .nav li a{
                color: yellow;
            }
        style>
    head>
    div>div>

    body>
        ol>
            li>a href="#">星期一a>li>    
        ol>
        
        ol class="nav">
            li>a href="#">星期二a>li>    
        ol>
    body>

html>

技术图片

 

 

3、子选择器

子选择器只能选择作为某元素的最近一级子元素

html>
    head>
        meta charset="utf-8">
        title>title>
        style>
            ol li a{
                color: red;
            }
            .nav>a{
                color: yellow;
            }
        style>
    head>
    div>div>

    body>
        ol>
            li>a href="#">星期一a>li>    
        ol>
        
        ol class="nav">
            a href="#">星期二a>
            li>a href="#">星期三a>li>    
        ol>
    body>

html>

技术图片

 

 元素一与元素二中间用 > 相分隔

 

4、并集选择器

并集选择器可以选择多组标签,同时为他们定义相同的样式,通常用于集体声明

(1)熊大和熊二都改为红色:

html>
    head>
        meta charset="utf-8">
        title>title>
        style>
          div,p{
              color: red;
          }
        style>
    head>
    body>
        div>熊大div>
        p>熊二p>
        span>光头强span>
        ul class="pig">
            li>小猪佩奇li>
            li>猪爸爸li>
            li>猪妈妈li>
        ul>
    body>
html>

技术图片

 

元素之间用逗号分隔

(2)熊大、熊二和小猪一家都改为红色:

html>
    head>
        meta charset="utf-8">
        title>title>
        style>
          div,p,.pig li{
              color: red;
          }
        style>
    head>
    body>
        div>熊大div>
        p>熊二p>
        span>光头强span>
        ul class="pig">
            li>小猪佩奇li>
            li>猪爸爸li>
            li>猪妈妈li>
        ul>
    body>
html>

技术图片

 

 

5、伪类选择器

用于向某些选择器添加特殊的效果,比如给链接添加特殊效果,或选择第一个、第n个元素

伪类选择器的最大特点是用冒号(:)表示

伪类选择器的种类很多,例如:链接伪类、结构伪类

a:link        选择所有未被访问的链接

a:visited   选择所有已经被访问的链接

a:hover    选择鼠标指针位于其上的链接

a:active   选择活动链接(鼠标按下未弹起的链接)

html>

    head>
        meta charset="utf-8">
        title>title>
        style>
            a:link {
                /*未访问的链接*/
                color: #333;
                text-decoration: none;
            }
            
            a:visited {
                /*访问过的链接*/
                color: red;
                text-decoration: none;
            }
            
            a:hover {
                /*鼠标经过的时候的链接*/
                color: deeppink;
                text-decoration: none;
            }
            
            a:active {
                /*活动链接*/
                color: aquamarine;
                text-decoration: none;
            }
        style>
    head>

    body>
        a href="#">新闻a>
    body>

html>

技术图片

 

 技术图片

 

 为了确保伪类生效,需要按照LVHA的顺序书写:link-visited-hover-active(LV包包hao)

 

6、focus伪类选择器

用于选择获得焦点的表单元素,焦点就是光标,一般情况下 类表单元素才能获取,因此这个选择器也要针对于表单元素来说

html>
    head>
        meta charset="utf-8">
        title>title>
        style>
            input:focus{
                background-color: red;
            }
        style>
    head>

    body>
        input type="text" />br />
        input type="text" />br />
        input type="text" />br />        
    body>

html>

技术图片

 

 

技术图片

 

css:复合选择器(后代、子选择器、并集、伪类)

标签:鼠标指针   meta   over   active   epp   标签   很多   定义   效果   

原文地址:https://www.cnblogs.com/zhai1997/p/13020452.html


评论


亲,登录后才可以留言!