CSS选择器

CSS选择器

CSS选择器类型

  • 常用的css基本选择器
  1. 标签选择器

    结构: 标签名{css属性名:属性值}

    作用:找到页面中所有的标签,然后设置样式

    注意:

    1.标签选择器选择的是一类标签,而不是单独的一个
    2.标签选择器无论嵌套关系有多深,都能够找到对应的标签

    <style>
        div {
            color: red;
        }
    </style>
    
    <body>
        <div>
            标签选择器
        </div>
    </body>
    
  2. 类选择器

    结构: .类名{css属性名:属性值}

    作用:通过类名,找到页面中所有的带有这个类名的标签,设置样式

    注意:

    1.所有的标签上都有class属性,class属性的属性值成为类名(类似于起了一个名)
    2.类名可以由数字,字母,下划线,中划线组成,但是不能以数字开头或者中划线开头
    3.一个标签中可以同时有多个类名,类名之间用空格隔开
    4.类名可以重复,一个类选择器可以同时选中多个标签

    <style>
        .demo {
            color: red;
        }
    </style>
    
    <body>
        <div class="demo">
            类选择器
        </div>
    </body>
    
  3. id选择器

    结构: #id属性值{css属性名:属性值}
    作用:通过id属性值,找到页面中带有这个id属性值的标签,设置样式

    注意:

    1.所有的标签上都有id属性
    2.id属性值类似于身份证号码,在一个页面中是唯一的,不可重复的
    3.一个标签上只能有一个id属性值
    4.一个id选择器只能选中一个标签

    <style>
        #demo {
            color: red;
        }
    </style>
    
    <body>
        <div id="demo">
            id选择器
        </div>
    </body>
    
  4. 通配符选择器

    结构: *{css属性名:属性值}
    作用:找到页面中所有的标签,然后设置样式
    注意:

    1.开发中应用极少,只有在特殊的情况下才会使用
    2.在页面中可能会用于去页面初始化

    <style>
        * {
            color: red;
        }
    </style>
    
    <body>
        <div>
            通配符选择器
        </div>
    </body>
    
  • 复合选择器
  1. 交集选择器

    语法: 选择器1选择器2{css样式}

    作用:选中页面中同时满足过个选择器的标签 紧挨着的

    结果:找到标签中既能被选择器1又能被选择器2选中的标签,设置样式

    注意:

    1.之间没有任何东西隔开,紧挨着的(所以不能这么写devp{ })
    2.交集选择器中如果有标签选择器,标签选择器必须放在前面

    <style>
        p.demo {
            color: red;
        }
    </style>
    
    <body>
        <p class="demo">
            这个元素会被应用样式
        </p>
        <div>
            这个元素不会被应用样式
        </div>
    </body>
    
  2. 并集选择器

    语法: 选择器1,选择器2{css样式}

    作用:同时选择多组标签,设置相同的样式

    结果:找到选择器1和选择器2选中的标签,设置样式

    注意:

    1.选择器与选择器之间用,隔开
    2.可以是基础选择器或者复合选择器
    3.每组选择器通常一行写一个,提高代码的可读性

    <style>
        p,
        div {
            color: red;
        }
    </style>
    
    <body>
        <p>
            这个元素会被应用样式
        </p>
        <div>
            这个元素也会被应用样式
        </div>
    </body>
    
  • 属性选择器
语法用法
[属性]选中含有指定属性的元素
[属性=属性值]选中含有指定属性和指定属性值的元素
[属性^=属性值]选中含有指定属性和指定属性值开头的元素
[属性$=属性值]选中含有指定属性和指定属性值结尾的元素
[属性*=属性值]选中指定属性名和含有指定属性值的元素
<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <title>属性选择器</title>
    <style>
        /* 第一种方法:选择含有指定属性的元素。
                语法:[属性名]{} */
        /*选择属性名为title,设置字体颜色红色  */
        [title] {
            color: red;
        }
        /* 第二种用法:选择含有指定属性及指定属性值的元素。
                语法:[属性名=属性值]{} */
        /*选择属性名为title和属性值为aaa的元素 ,设置字体颜色绿色 */
        [title=aaa] {
            color: green;
        }
        /* 第三种用法:选择含有指定属性及指定属性之开头的元素。
                语法:[属性名^=属性值]{}  */
        /* 选择属性名为title和属性值以b开头的元素,设置背景色黄色 */
        [title^=b] {
            background-color: yellow;
        }
        /* 第四种用法:选择含有指定属性及指定属性值结尾的元素。
                语法:[属性名$=属性值] */
        /* 选择属性名为title和属性值以c结尾的元素,设置字体为30px */
        [title$=c] {
            font-size: 30px;
        }
        /* 第五种用法:选择含有指定属性,只要含有某个属性值的元素。
                语法:[属性值*=属性名]{} */
        /* 选择属性名为title和属性值含有e的元素,设置背景色为绿色 */
        [title*=e] {
            background-color: green;
        }
    </style>
</head>

<body>
    <p title="aaa">aaa</p>
    <p title="bbb">bbb</p>
    <p title="ccc">ccc</p>
    <p title="ddd">ddd</p>
    <p title="eee">eee</p>
    <p>fff</p>
</body>

</html>
  • 关系选择器
语法用法
父亲>儿子儿子单个选择
祖先 后代后代全部选择
兄+弟相邻兄弟选择(必须是兄弟且严格相邻)
兄~弟全部兄弟选择
<!DOCTYPE html>
<html>

<head>
    <meta charset="utf-8">
    <title>关系选择器(兄弟、父子选择器)</title>
    <style>
        /* 父子选择 ,单个*/
        div>span {
            color: blue;
            font-size: 40px;
        }
        /* 祖先后代选择,全部 */
        div span {
            color: red;
        }
        /* 必须相邻兄弟选择,是兄弟但不相邻,不选择 */
        div + span{
            color: greenyellow;
        }
        /* 全兄弟选择 */
        p ~ span{
            color: black;
        }
        p ~ *{
            color: white;
        }
    </style>
</head>

<body>
    <div>
        我是div
        <p>
            我是div中的p
            <span>我是p中的span</span>
        </p>
        <div>我是div中的div</div>
        <span>我是div中的span1</span>
        <span>我是div中的span2</span>
    </div>
    <span>我是div之外的span1</span>
    <span>我是div之外的span2</span>
</body>

</html>
  • 伪类选择器

    伪类: 不存在的类,表示元素的一种

  1. 元素伪类选择器

    所有元素中选择的伪类

    :first-child 第一个子元素
    :last-child 最后一个子元素
    :nth-child(n) 选中第n个元素 an+b -n+3
    关于:nth-child( )的特殊值
    n 第n个 n的范围0到正无穷(全选)
    even或2n 选中偶数位的元素
    odd或2n+1 选中奇数位得到元素
    

    相同元素中选择的伪类

    :first-of-type 第一个子元素
    :last-of-type 最后一个子元素
    :nth-of-type(n) 选中第n个元素
    
  2. 否定伪类选择器

    :not( ) 将符号条件的元素去除,不支持组合使用 :not(div .one) 
    
  3. 特殊应用的伪类

    :link 表示未访问过的a标签
    :visited 表示访问过的a标签
    以上两个伪类是超链接所独有的
    由于隐私的问题,所以visited这个伪类只能修改链接的颜色
    以下两个伪类是所有标签都可以使用
    :hover 鼠标移入后元素的状态
    :active 鼠标点击后,元素的状态
    :focus 选择获取焦点的元素
    :active 选择鼠标在上面并且按键按下不松手的元素
    
  • 伪元素选择器

    常见的伪元素

    ::first-letter 表示第一个字母
    ::first-line 表示第一行
    ::selection 表示选中的元素
    ::before 元素开始的位置前
    ::after 元素结束的位置后
    ::marker 列表的标记
    

CSS选择器权重

进制为256进制

选择器类型权重
! importantinfinite
行间样式style=" "1,0,0,0
id选择器 #0,1,0,0
类选择器class | 伪类选择器 | 属性选择器0,0,1,0
标签选择器 | 伪元素选择器0,0,0,1
* | 继承0,0,0,0
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值