3.2 CSS选择器

本文详细介绍了CSS中的各种选择器,包括元素选择器、ID选择器、类选择器、属性选择器(如基于属性值和属性存在条件的选择)、伪类选择器(如:hover和:active)以及组合选择器(如子元素选择器和相邻兄弟选择器)。这些选择器是前端开发者理解和运用CSS样式的基础。
摘要由CSDN通过智能技术生成

3.2.1 元素选择器

    CSS中最常见的选择器就是元素选择器,即采用HTML文档中的元素名称进行样式规定。元素选择器又称为类型选择器,可以用于匹配HTML文档中某一个元素类型的所有元素。

例如,匹配所有的段落元素<p>,并将其背景颜色声明为灰色:

p{background:gray}

3.2.2 ID选择器

    ID选择器使用指定的id名称匹配元素。如果需要为特定的某个元素进行样式设置,可以为其添加一个自定义的id名称,然后根据id名称进行匹配。

ID选择器和元素选择器语法结构类似,但是声明时需要在id名称前面加#号。其语法规则如下:

# id名称{属性名称1:属性值1; 属性名称2:属性值2; ... 属性名称N:属性值N }

例如,为某个段落元素<p>添加id="test"

<p id="test">这是一个段落</p>

然后匹配上述id="test"的段落元素<p>,并将其字体颜色声明为红色:

#test{color:red}

3.2.3 类选择器

    类选择器可以将不同的元素定义为共同的样式。类选择器在声明时需要在前面加“.”号,为了和指定的元素关联使用,需要自定义一个class名称。

其语法规则如下:

.class名称{属性名称1:属性值1; 属性名称2:属性值2; ... 属性名称N:属性值N }
  1. 例如,设置一个类选择器用于设置字体为红色:
.red{color:red}

将其使用在不同的元素上,可以显示统一的效果:

<h1 class="red">这是标题,字体颜色是红色</h1>
<p class="red">这是段落,字体颜色也是红色</p>

 类选择器也可以将相同的元素定义为不同的样式。

例如,设置两个类选择器,分别用于设置字体为红色和蓝色:

.red{color:red}
.blue{color:blue}

将其使用在相同的段落元素<p>中,可以显示不同的样式效果:

<p class="red">这是段落1,字体颜色是红色</p>
<p class="blue">这是段落2,字体颜色是蓝色</p>

 类选择器也可以为同一个元素设置多个样式。

例如,设置两个类选择器,分别用于设置字体为红色和设置背景颜色为蓝色:

.red{color:red}
.bgblue{background-color:blue}

将其使用在同一个段落元素<p>中,可以同时应用这两种样式效果:

<p class="red bgblue">本段落的字体颜色是红色,背景颜色是蓝色</p>

3.2.4 属性选择器

 从CSS2开始引入了属性选择器,属性选择器允许基于元素所拥有的属性进行匹配。 

其语法规则如下:

元素名称[元素属性]{属性名称1:属性值1; 属性名称2:属性值2; ... 属性名称N:属性值N }

例如,只对带有href属性的超链接元素<a>设置CSS样式:

a[href]{
color: red;
}

上述代码表示将所有带有href属性的超链接元素<a>设置字体颜色为红色。

 也可以根据具体的属性值进行CSS样式设置,例如:

a[href= "http://www.baidu.com"]{
    color: red;
}

上述代码表示将href属性值为http://www.baidu.com的超链接设置为红色字体样式。 

如果不确定属性值的完整内容,可以使用[attribute~=value]的格式查找元素,表示在属性值中包含value关键词。例如:

a[href~="baidu"]{
    color: red;
}

上述代码表示将所有href属性值中包含baidu字样的超链接设置为红色字体样式。

还可以使用[attribute|=value]的格式查找元素,表示属性值中以单词value开头。例如: 

img[alt|="flower"]{
    border:1px solid red;
}

 上述代码表示为所有alt属性值以flower字样开头的图像元素设置1像素宽的红色实线边框效果。

3.2.5其他常用选择器

伪类选择器(Pseudo-Class Selectors): 伪类选择器用于向特定元素添加特殊效果,常见的伪类包括 :hover(鼠标悬停时)、:active(元素被激活时)、:first-child(作为其父元素的第一个子元素时)等。例如:

a:hover { color: red; }

上述代码将会选择所有超链接元素(<a>)在鼠标悬停时,将其文字颜色设置为红色。

伪元素选择器(Pseudo-Element Selectors): 伪元素选择器允许在文档中的某个位置插入生成的内容,常见的伪元素包括 ::before(在元素内容之前插入内容)、::after(在元素内容之后插入内容)等。例如:

p::before { content: "前缀 "; }

上述代码将会选中所有段落元素(<p>)并在其内容前插入"前缀 "。

组合选择器(Combinators): 组合选择器允许选择特定关系下的元素。例如:

div p { color: blue; }

上述代码将会选中所有 <p> 元素内部的所有 <div> 元素,并将其文字颜色设置为蓝色。

子元素选择器(Child Selector): 子元素选择器(>)选择作为指定元素的直接子元素的元素。例如:

ul > li { list-style-type: square; }

上述代码将会选中所有直接作为无序列表(<ul>)子元素的列表项(<li>),并将其列表样式设置为方块。

相邻兄弟选择器(Adjacent Sibling Selector): 相邻兄弟选择器(+)选择紧接在另一个元素后的特定元素。例如:

h2 + p { margin-top: 0; }

上述代码将会选中紧接在<h2>元素后面的<p>元素,并将其上边距设置为0。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

超级小狗

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值