CSS选择器

要想将CSS样式应用于特定的HTML元素,首先需要找到该目标元素。选择器是选择要添加要是的HTML标签的一种方式、模式。

CSS2.1版本的七种选择器:

基础选择器: 标签选择器、id选择器、类选择器、通配符选择器

高级选择器: 后端选择器、交集选择器、并集选择器

基础选择器

标签选择器

通过标签名去选中标签元素。

书写方式: 标签名

选中范围: 选中的是HTML文件中所有的同名标签

p{
    color: red;
}
h2{
    color: blue;
}

标签选择器可以选择所有的同名标签,会忽略嵌套关系,不管嵌套多深,都能被选中。

<div>
    <div>
        <div>
            <div>
                   <p>这是一个嵌套多层的段落</p>
            </div>
        </div>
    </div>
</div>

优点: 可以选中所有的同名标签,设置所有同名标签的公共样式

缺点: 只能实现全选,不能对局部的标签添加特殊样式

id选择器

通过标签上的id属性去选中标签。

书写方式: #id属性值

选择范围: 只能选中一个标签

id命名规则: 必须以字母开头、后面可以有字母、数字、下划线、横线。严格区分大小写。每个id属性值必须是唯一的。不能与其他的id同名。

#ps1{
    color: red;
}

如果希望多个标签设置相同的样式,使用id选择器的话,必须给这多个标签取不同的id名。分别选择设置

#ps1{
    color: red;
}
#hl1{
    color: red;
}

缺点: id选择器只能实现单选,不能帮我们完成多选的功能。

类选择器

通过标签的class属性去选择标签。

书写方式: .class属性值

选择范围: 是页面中所有class属性值相同的标签

class命名规则: 必须以字母开头、后面可以有字母、数字、下划线、横线。严格区分大小写。class属性可以与其他class相同。

特点1: 多个不同的标签,不区分标签类型,只要class属性值相同。都可以被同一个类选择器选中。

.demo{
    color: red;  
}

特点2: 一个标签的class属性可以有多个属性值, 值之间用空格分隔,这样的话可以通过多个属性组成的选择器,去选中同一个标签,每个选择器后面的样式都会添加给同一个标签

<p class="demo para">这是一个段落</p>

.demo{
    color: red;
}
.para{
    font-size: 30px;
}

原子类: 在CSS中提前设置一些类名,每个类选择器后面只添加一条css样式属性,这些属性会在页面中常被使用,后期可以不需要多次书写属性,只要将对应的类名添加给需要的标签即可。

.fs12{
    font-size: 12px;
}
.fs20{
    font-size: 20px;
}
.red{
   color: red;
}
.green{
    color: green;
}

优点: 

1. 通过一个选择器进行多选,选中多个标签,添加公共样式。

2. 一个标签可以被多个类选择器选中,可以将所有的样式进行分离,分别提取公共样式和单独样式。节省代码量。

通配符选择器

通过一个特殊符号选择页面内所有的标签

书写方式: *

选择范围: 包含html标签在内的所有标签

* {
    color: red;
}

缺点: 通配符选择器效率低,要设置的部分公共样式不是所有标签都需要添加,如果使用通配符选择,会让不需要的标签页加载一次样式,导致浏览器多做无用的工作。

实际上显示的网站不允许使用*去清除默认内外边距,不过普通的案例,为了节省书写,可以使用通配符