CSS中几种常见的选择器

1.标签选择器

        ​ 作用: 根据指定的标签名称, 在当前界面中找到所有该名称的标签, 然后设置属性
        ​ 格式:
​                 标签名称{
​                 属性:值;
                 ​ }
​         注意点:
                ​ 1.标签选择器选中的是当前界面中所有的标签, 而不能单独选中某一个标签
                ​ 2.标签选择器无论标签藏得多深都能选中
                ​ 3.只要是HTML中的标签就可以作为标签选择器(h/a/img/ul/ol/dl/input....)

2.id选择器

         作用: 根据指定的id名称找到对应的标签, 然后设置属性
​         格式:
                ​ #id名称{
                ​ 属性:值;
​                 }
​         注意点:
​                 1.每个HTML标签都有一个属性叫做id, 也就是说每个标签都可以设置id
                ​ 2.在同一个界面中id的名称是不可以重复的
                ​ 3.在编写id选择器时一定要在id名称前面加上#
​                 4.id的名称是有一定的规范的
​                         4.1 id的名称只能由字母/数字/下划线,a-z 0-9 _
​                         4.2 id名称不能以数字开头
​                         4.3 id名称不能是HTML标签的名称,不能是a h1 img input ...
​                 5.在企业开发中一般情况下如果仅仅是为了设置样式, 我们不会使用id ,因为id是留给js使用的

3.类选择器

         作用: 根据指定的类名称找到对应的标签, 然后设置属性
        ​ 格式:
                ​ .类名{
​                 属性:值;
                ​ }

        ​ 注意点:
​                1.每个HTML标签都有一个属性叫做class, 也就是说每个标签都可以设置类名
                2.在同一个界面中class的名称是可以重复的
​                3.在编写class选择器时一定要在class名称前面加上.
​                4.类名的命名规范和id名称的命名规范一样
                5.类名就是专门用来给CSS设置样式的
                ​6.在HTML中每个标签可以同时绑定多个类名
                        ​ 格式:
​                         <标签名称 class="类名1 类名2 ...">

4.后代选择器

​         作用: 找到指定标签的所有特定的后代标签, 设置属性
        ​ 格式:
​                 标签名称1 标签名称2{
                ​ 属性:值;
​                 }
        ​ 先找到所有名称叫做"标签名称1"的标签, 然后再在这个标签下面去查找所有名称叫做"标签名称2"的标签, 然后在设置属性。
        ​ 例如:div p{}

​         注意点:
                ​ 1.后代选择器必须用空格隔开
​                 2.后代不仅仅是儿子, 也包括孙子/重孙子, 只要最终是放到指定标签中的都是后代
                ​ 3.后代选择器不仅仅可以使用标签名称, 还可以使用其它选择器
​                 4.后代选择器可以通过空格一直延续下去

5.子元素选择器

         作用: 找到指定标签中所有特定的直接子元素, 然后设置属性
        ​ 格式:
                ​ 标签名称1>标签名称2{
​                 属性:值;
                ​ }

        ​ 注意点:
                ​ 1.子元素选择器只会查找儿子, 不会查找其他被嵌套的标签
​                 2.子元素选择器之间需要用>符号连接, 并且不能有空格
​                 3.子元素选择器不仅仅可以使用标签名称, 还可以使用其它选择器
                ​ 4.子元素选择器可以通过>符号一直延续下去

                ​ 5.后代选择器和子元素选择器之间的区别?
                        ​ -后代选择器使用空格作为连接符号
                        ​ 子元素选择器使用>作为连接符号
                        ​ -后代选择器会选中指定标签中, 所有的特定后代标签, 也就是会选中儿子/孙子..., 只要是被放到指定标 签中的特 定标签都会被选中
                        ​ 子元素选择器只会选中指定标签中, 所有的特定的直接标签, 也就是只会选中特定的儿子标签

                ​ 6.后代选择器和子元素选择器之间的共同点
                        ​ -后代选择器和子元素选择器都可以使用标签名称/id名称/class名称来作为选择器
                        ​ -后代选择器和子元素选择器都可以通过各自的连接符号一直延续下去
                        ​ 选择器1>选择器2>选择器3>选择器4{}
                ​ 7.在企业开发中如何选择
                        ​ 如果想选中指定标签中的所有特定的标签, 那么就使用后代选择器
​                         如果只想选中指定标签中的所有特定儿子标签, 那么就使用子元素选择器

6.交集选择器

         作用: 给所有选择器选中的标签中, 相交的那部分标签设置属性
​         格式:
​                 选择器1选择器2{
                ​ 属性: 值;
                ​ }
        ​ 注意点:
​                 1.选择器和选择器之间没有任何的连接符号
​                 2.选择器可以使用标签名称/id名称/class名称
​                 3.交集选择器仅仅作为了解, 企业开发中用的并不多

7.并集选择器

​         作用: 给所有选择器选中的标签设置属性
​         格式:
                ​ 选择器1,选择器2{
​                 属性:值;
                ​ }
​         注意点:
​                 1.并集选择器必须使用,来连接
​                 2.选择器可以使用标签名称/id名称/class名称

8.兄弟选择器

​         8.1 相邻兄弟选择器 CSS2
                ​ 作用: 给指定选择器后面紧跟的那个选择器选中的标签设置属性
                ​ 格式:
​                         选择器1+选择器2{
                        ​ 属性:值;
                        ​ }
                ​ 注意点:
                        ​ 1.相邻兄弟选择器必须通过+连接
​                         2.相邻兄弟选择器只能选中紧跟其后的那个标签, 不能选中被隔开的标签

​         8.2 通用兄弟选择器 CSS3
​                 作用: 给指定选择器后面的所有选择器选中的所有标签设置属性
                ​ 格式:
                        ​ 选择器1~选择器2{
​                         属性:值;
​                         }
                注意点:
​                 1.通用兄弟选择器必须用~连接
                ​ 2.通用兄弟选择器选中的是指定选择器后面某个选择器选中的所有标签, 无论有没有被隔开都可以选中

9.伪类选择器

        伪类以":"开头,用在选择器后,用于指明元素在某种特殊的状态下才能被选中

<style>
        /* 9.序选择器或伪类选择器  选取某一个: nth-child(n/odd奇数/even偶数/表达式)*/
        p:first-child{
            color: yellow;
        }
        p:last-child{
            color: pink;
        }
        p:nth-child(5){
            color:blue;
        }
        /* 选取我们的奇数p标签 */
        p:nth-child(odd){
            background-color: red;
        }
        /* 选取我们的偶数p标签 */
        p:nth-child(even){
            background-color: blueviolet;
        }
        /* 1 4 7 3n+1   n是从0开始的 */
        p:nth-child(3n+1){
            font-size: 28px;
        }
        /* 2 5 8 3n+2 */
        p:nth-child(3n+2){
            width: 100px;
        }
    </style>

10.动态伪类选择器

         E:link(链接伪类选择器):选择匹配的E元素,而且匹配元素被定义了超链接并未被访问过。常用于链接 描点上
​         E:visited(链接伪类选择器 ):选择匹配的E元素,而且匹配元素被定义了超链接并已被访问过。常用于 链接描点上
        ​ E:active(用户行为选择器):选择匹配的E元素,且匹配元素被激活。常用于链接描点和按钮上
        ​ E:hover (用户行为选择器): 选择匹配的E元素,且用户鼠标停留在元素E上。IE6及以下浏览器仅支持 a:hover

<style>
        /* 10.动态伪类选择器  4种
            未访问 link
            访问过 visited
            悬浮   hover
            鼠标按下 active

            love hate
        */
        a:link{
            color: blue;
        }
        a:visited{
            color: red;
        }
        a:hover{
            color: pink;
        }
        a:active{
            color: yellow;
        }
    </style>

11.否定伪类

​         作用:可以从已选中的元素中剔除出某些元素
        ​ 语法:
​                 :not(选择器)
        ​ 例如:
​                 p:not(.hello){
                ​ background-color: yellow;
​                 }

12.伪元素选择器

        使用伪元素来表示元素中的一些特殊的位置
​                 ::after
                        ​ 表示元素的最后边的部分
​                         一般需要结合content这个样式一起使用,
                        ​ 通过content可以向after的位置添加一些内容
                ::before
​                         表示元素最前边的部分
​                         一般需要结合content这个样式一起使用,
                        ​ 通过content可以向before的位置添加一些内容
                ​ ::first-letter
​                         为第一个字符来设置一个样式
​                 ::first-line
​                         为第一行设置一个样式

13.属性选择器

         作用: 根据指定的属性名称找到对应的标签, 然后设置属性
        ​ 格式:
                ​ [attribute]

          以下以部分代码举例说明:

<style>
        /* 属性选择器 */

        /* div[id='one']{
            background-color: red;
        }
        input[type='password']{
            background-color: pink;
        } */

        /* 选中以name开头的user属性名  css2[name|='user'] */
        /* input[name|='user']{
            background-color: cyan;
        } */

        /* css3属性选择器  以user开头 */
        /* input[name^='user']{
            background-color: cyan;
        } */

        /* 以某一个属性结尾 */
        /* input[name$='name']{
            background-color: pink;
        } */

        /* css2 选中name属性包含name属性名的标签 */
        /* input[name~='user~name']{
            background-color: red;
        } */

        /* css3 只要属性值包含某一部分 */
        input[name*='u']{
            background-color: blue;
        }
    </style>

14.通配符选择器

​         作用: 给当前界面上所有的标签设置属性
        ​ 格式:
                ​ *{
                ​ 属性:值;
​                 }
​         注意点:
​                 由于通配符选择器是设置界面上所有的标签的属性, 所以在设置之前会遍历所有的标签, 如果当前界面上 的标签比较多, 那么性能就会比较差, 所以在企业开发中一般不会使用通配符选择器。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值