CSS中所有选择器详解

文章目录

一、教学视频

教学讲解视频:视频地址

二、基础选择器

1.标签选择器

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

作用:通过标签名,找到页面中所有的这类标签,并设置样式。
注意

  • 标签选择器选择的是一类标签,而不是单独的一个。
  • 标签选择器无论嵌套关系有多深,都能够找到对应的标签。
html 复制代码
<style>
    p {
        color: red;
    }
</style>
<body>
    <div>
        111
        <p>
            2222
            <div>
                333
                <p>444</p>
            </div>
        </p>
    </div>
</body>

2.类选择器

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

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

  • 所有的标签上都有class属性,class属性的属性值成为类名。
  • 类名可以由数字,字母,下划线,中划线组成,但是不能以数字开头
  • 一个标签中可以同时有多个类名,类名之间用空格隔开。
  • 类名可以重复,一个类选择器可以同时选中多个标签。
html 复制代码
<style>
    .class-one {
        color: red;
    }
    .class-two {
        font-weight: bold;
    }
</style>
<body>
    <div class="class-one">
        111
        <div>
            <div class="class-one class-two">
                222
            </div>
        </div>
    </div>

</body>

3.id选择器

语法结构:#id属性值{css属性名:属性值;}

作用:通过id属性值,找到页面中带有这个id属性值的标签,并设置样式。
注意

  • 所有的标签上都有id属性。
  • id属性值类似于身份证号码,在一个页面中是唯一的,不可重复的。
  • 一个标签上只能有一个id属性值。
  • 一个id选择器只能选中一个标签。
html 复制代码
<style>
    #id-one {
        color: red;
    }
</style>
<body>
    <div id="id-one">
        111
    </div>
</body>

4.通配符选择器

语法结构:*{css属性名:属性值;}

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

  • 开发中应用极少,只有在特殊的情况下才会使用。
  • 在页面中可能会用于去除页面中默认的margin和padding。
html 复制代码
<style>
    * {
        margin: 0;
        padding: 0;
    }
</style>
<body>
    <div>
        111
    </div>
</body>

三、复合选择器

1.交集选择器

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

作用:选中页面中同时满足多个选择器的标签。
注意

  • 多个选择器之间没有任何东西隔开,紧挨着的。
  • 交集选择器中如果有标签选择器,标签选择器必须放在前面
html 复制代码
<style>
    div.class-one {
        color:red;
    }
    div#id-one {
        color:green;
    }
</style>
<body>
    <div class="class-one">
        111
    </div>
    <div id="id-one">
        222
    </div>
    <div>
        333
    </div>
</body>

2.并集选择器

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

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

  • 选择器与选择器之间用,隔开。
html 复制代码
<style>
    p, div, .class-one {
        color: red;
    }
</style>
<body>
    <div class="class-one">
        111
    </div>
    <div>
        222
    </div>
    <p>
        333
    </p>
</body>

四、属性选择器

1.[属性]

作用:选中含有指定属性的元素。

html 复制代码
<style>
    [title] {
        color: red;
    }
</style>
<body>
    <div title="111">
        111
    </div>
    <div>
        222
    </div>
</body>

2.[属性=属性值]

作用:选中含有指定属性和指定属性值的元素。
注意

  • 属性值只能由数字,字母,下划线,中划线组成,并且不能以数字开头。
html 复制代码
<style>
    [title=aaa] {
        color: red;
    }
</style>
<body>
    <div title="aaa">
        aaa
    </div>
    <div title="bbb">
        bbb
    </div>
</body>

3.[属性^=属性值]

作用:选中含有指定属性和指定属性值开头的元素。
注意

  • 属性值只能由数字,字母,下划线,中划线组成,并且不能以数字开头。
html 复制代码
<style>
    [title^=aaa] {
        color: red;
    }
</style>
<body>
    <div title="aaa-one">
        aaa
    </div>
    <div title="aa">
        bbb
    </div>
</body>

4.[属性$=属性值]

作用:选中含有指定属性和指定属性值结尾的元素。
注意

  • 属性值只能由数字,字母,下划线,中划线组成,并且不能以数字开头。
html 复制代码
<style>
    [title$=aaa] {
        color: red;
    }
</style>
<body>
    <div title="aaa-one">
        aaa
    </div>
    <div title="bbb-aaa">
        bbb
    </div>
</body>

5.[属性*=属性值]

作用:选中指定属性和含有指定属性值的元素。
注意

  • 属性值只能由数字,字母,下划线,中划线组成,并且不能以数字开头。
html 复制代码
<style>
    [title*=a] {
        color: red;
    }
</style>
<body>
    <div title="aaa-one">
        aaa
    </div>
    <div title="bbb-aaa">
        bbb
    </div>
</body>

五、关系选择器

1.父亲>儿子

作用:选择某元素后面的第一代子元素。

html 复制代码
<style>
    .class-one > .class-two {
        color: red;
    }
</style>
<body>
    <div class="class-one">
        <div class="class-two">
            aaa
        </div>
        <div>
            <div class="class-two">
                bbb
            </div>
        </div>
    </div>
</body>

2.祖先 后代

作用:选择某元素后面的所有子元素。

html 复制代码
<style>
    .class-one .class-two {
        color: red;
    }
</style>
<body>
    <div class="class-one">
        <div class="class-two">
            aaa
        </div>
        <div>
            <div class="class-two">
                bbb
            </div>
        </div>
    </div>
</body>

3.兄+弟

作用:可选择紧接在另一元素后的元素,且二者有相同父元素。

html 复制代码
<style>
    .class-one+.class-two {
        color: red;
    }
</style>
<body>
    <div class="class-one">
       aaa
    </div>
    <div class="class-two">
        bbb
    </div>
</body>

4.兄~弟

作用:选取某个元素之后的所有相同元素。
注意

  • 比如.class-one ~ h2 这句就是选取 .class-one后面所有的 h2。
  • 这个选择器两种元素必须处于同一个父元素内,被选取的元素不必直接紧随
html 复制代码
<style>
    .class-one ~ .class-two {
        color: red;
    }
</style>
<body>
    <div class="class-one">
       aaa
    </div>
    <div>
        <div class="class-two">
            bbb
        </div>
    </div>
    <div class="class-two">
        ccc
    </div>
</body>

六、伪类选择器

请浏览博客:CSS中伪类详解和用法例子详解

七、伪元素选择器

请浏览博客:CSS中伪元素详解和用法例子详解

相关推荐
也无晴也无风雨1 小时前
深入剖析输入URL按下回车,浏览器做了什么
前端·后端·计算机网络
Martin -Tang1 小时前
Vue 3 中,ref 和 reactive的区别
前端·javascript·vue.js
FakeOccupational3 小时前
nodejs 020: React语法规则 props和state
前端·javascript·react.js
放逐者-保持本心,方可放逐3 小时前
react 组件应用
开发语言·前端·javascript·react.js·前端框架
曹天骄4 小时前
next中服务端组件共享接口数据
前端·javascript·react.js
阮少年、4 小时前
java后台生成模拟聊天截图并返回给前端
java·开发语言·前端
郝晨妤6 小时前
鸿蒙ArkTS和TS有什么区别?
前端·javascript·typescript·鸿蒙
AvatarGiser6 小时前
《ElementPlus 与 ElementUI 差异集合》Icon 图标 More 差异说明
前端·vue.js·elementui
喝旺仔la6 小时前
vue的样式知识点
前端·javascript·vue.js
别忘了微笑_cuicui6 小时前
elementUI中2个日期组件实现开始时间、结束时间(禁用日期面板、控制开始时间不能超过结束时间的时分秒)实现方案
前端·javascript·elementui