css选择器总结

1.通配符选择器

       *     =>表示选中页面中所有元素       ( 如下,页面所有标签中的文字都是蓝色)

<style>
    * {
      color: blue;
    }
</style>
<div>这是div中的文字</div>
<p>这是p中的文字</p>
<a href="#">这是a中的文字</a>
<h1>这是h1中的文字</h1>

2.子元素选择器(亲儿子选择器)

      =>选中直接子元素                (如下,ul>li设置li的文字颜色,不会改变p标签中的元素)

<style>
    p {
      color: green;
    }

    ul>li {
      color: red;
    }
</style>
<ul>
    <li>
      这里是小li是ul的直接子元素(亲儿子)
      <p>这里是p,是li的直接子元素</p>
    </li>
</ul>

 3.后代选择器(儿子,孙子)

    父子元素之间以空格隔开

   (将2中的style部分的代码修改成如下)        (p的颜色也会被修改)

p {
   color: green;
}

ul li {
     color: red;
}

ul li p {
     color: red;
}

 4.并集选择器-----可以同时选择多组标签

    不同标签之间用逗号隔开

  <style>
    div,p,a {
      color: pink;
    }
  </style>
<div>这是div中的文字</div>
<p>这是p中的文字</p>
<a href="#">这是a中的文字</a>

5.伪类选择器

任何标签都可用,以下以a标签举例(如果是div做鼠标经过----div:houer{})

<style>
    a:link {
      /*未被访问的链接*/
      color: red;
    }

    a:visited {
      /* 已经被访问的链接 */
      color: green;
    }

    a:hover {
      /* 鼠标经过 */
      color: yellow;
    }

    a:active {
      /* 鼠标按下未弹起 */
      color: blue;
    }
</style>
<a href="#">这是一个链接</a>

未点击时:

 点击后:

鼠标经过:

 鼠标按下未弹起:

 6.伪类选择器

  用于选取获得焦点的表单元素   =>一般情况<input>标签会用到

<style>
    input:focus {
      background-color: skyblue;
    }
</style>
<input type="text">

   打开页面时:

  将光标定到输入框时:

  

7.CSS3新增属性选择器

  •   例div[value]{}  ---- 有value这个属性的div

  • div[value] {
          color: pink;
    }
    <div value="name">这是有value属性的div</div>
    <div>普通的div</div>

  •   例input[type=text]{}  ----  type是text的input

  • input[type=text] {
          background-color: aqua;
    }
     type为text的<input type="text">
     type为password的<input type="password">

     

  •   例div[class^=icon]{}  ----  class是以icon开头的div

  • div[class^=icon] {
          color: red;
    }
    <div class="icon1">icon1</div>
    <div class="icon2">icon2</div>
    <div class="icon3">icon3</div>
    <div class="icon4">icon4</div>

     

  •   例div[class$=data]{}  ----  class是以data结尾的div

  • div[class$=data] {
          color: red;
    }
    <div class="1data">1data</div>
    <div class="2data">2data</div>
    <div class="3data">3data</div>
    <div class="4data">4data</div>

     

  •   例div[class*=icon]{}  ----  class中含icon字段的div

  • div[class*=icon] {
          color: red;
    }
    <div class="icon">icon</div>
    <div class="1icon">1icon</div>
    <div class="icon2">icon2</div>
    <div class="ic3on">ic3on</div>

8.CSS3新增结构伪类选择器

  •   E:first-child   匹配父元素中的第一个子元素E

  • li:first-child {
          color: blue;
    }
    <ul>
        <li>我是ul的第1个孩子</li>
        <li>我是ul的第2个孩子</li>
        <li>我是ul的第3个孩子</li>
        <li>我是ul的第4个孩子</li>
        <li>我是ul的第5个孩子</li>
        <li>我是ul的第6个孩子</li>
    </ul>

     

  •   E:last-child   匹配父元素中的最后一个子元素E

  • li:last-child {
          color: blue;
    }
    <ul>
        <li>我是ul的第1个孩子</li>
        <li>我是ul的第2个孩子</li>
        <li>我是ul的第3个孩子</li>
        <li>我是ul的第4个孩子</li>
        <li>我是ul的第5个孩子</li>
        <li>我是ul的第6个孩子</li>
    </ul>

  •   E:nth-child(n)   匹配父元素中的第n个子元素E

  •   n可以是数字:

    li:nth-child(3) {
          color: blue;
    }

    body部分的代码同前两种一样

     

      n可以是关键字:even偶数,odd奇数

    li:nth-child(odd) {
          color: blue;
    }

    body部分的代码同前两种一样

     

       n可以是表达式,此时n会从0开始,每次加一,直到n-1

    li:nth-child(5n) {
           /*表示5的倍数*/
          color: blue;
    }

      body部分的代码同前两种一样

     

    li:nth-child(-n+3) {
          /*表示选中前三个*/
          color: blue;
    }

      body部分的代码同前两种一样

          

  •   E:first-of-type   匹配父元素中指定类型的第一个子元素E

div:first-of-type {
      color: blue;
}
<section>
    <p>这是p元素</p>
    <div>我是section的第一个div孩子</div>
    <div>我是section的第二个div孩子</div>
</section>

    

         它和first-child的区别是:当使用它时会先找到指定类型的标签,再找first第一个

                                                 而后者是先找到第一个子元素,如果类型不符合,则无效果

        如下:将第一段代码修改成使用first-child                (结果没有任何的效果)

div:first-child {
      color: blue;
}

 

  •   E:last-of-type   匹配父元素中指定类型的最后一个子元素E   

div:last-of-type {
      color: blue;
}
<section>
    <p>这是p元素</p>
    <div>我是section的第一个div孩子</div>
    <div>我是section的第二个div孩子</div>
    <p>这是p元素</p>
</section>

 

        与last-child的区别同上类似

  •   E:nth-of-type(n)   匹配父元素中指定类型的第n个子元素E

div:nth-of-type(2) {
      color: blue;
}
<section>
    <p>这是p元素</p>
    <div>我是section的第一个div孩子</div>
    <div>我是section的第二个div孩子</div>
    <p>这是p元素</p>
</section>

         与nth-child的区别同上类似,用法大体相同

9.CSS3新增伪元素选择器

  • ::before        在元素内部的前面插入内容

div::before {
    /*使用时记得把地址换成自己的图片地址*/
      content: url(../image/奔跑.jpg);
}
 <div>这是一个div</div>

 

  • ::after           在元素内部的后面插入内容

div::after {
      content: url(../image/奔跑.jpg);
}
<div>这是一个div</div>

 

 特点:

  • 会创建一个元素(行内)
  • 在文档树中找不到
  • 必须有content属性

感受:知识点真的很广很杂很难记,加油!!!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
CSS选择器中的`:children`伪类选择器是不存在的。在CSS中,有一些伪类选择器可以用来选择元素的不同状态或位置,但没有专门用于选择子元素的伪类选择器。相反,可以使用其他伪类选择器,如`:first-child`、`:last-child`、`:nth-child()`或`:nth-of-type()`来选择父元素中的特定子元素。例如,`:first-child`选择父元素中的第一个子元素,`:last-child`选择父元素中的最后一个子元素,`:nth-child(n)`选择父元素中的第n个子元素,而`:nth-of-type(n)`选择父元素中指定类型的第n个子元素。这些伪类选择器可以帮助我们选择和样式化父元素的不同子元素。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *3* [css选择器总结](https://blog.csdn.net/laisy334514/article/details/119060318)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *2* [Css选择器](https://blog.csdn.net/baizeyv/article/details/125935137)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值