CSS 选择器

前言


基础选择器

以下是几种常见的基础选择器。

标签选择器:通过HTML标签名称选择元素。

例如:

p {
    color: red;
}

上述样式规则将选择所有<p>标签 ,并将其文字颜色设置为红色。


类选择器:通过类名选择元素。使用类选择器时需要在类名前加上英文句点.

例如:

<p class="myp">这是p标签。</p>
.myp {
    font: size 16px;
}

上述样式规则将选择所有具有class="myp"属性的元素。并将它们的字体大小设置为16像素。


ID选择器:通过元素的唯一ID选择元素。使用ID选择器时,在CSS中需要在ID名称前加上井号#

例如:

<div id="mydiv">这是一个div元素。</div>
#mydiv {
    background-color: blue;
}

上述样式规则将选择具有id="mydiv" 的元素,并将它们的背景颜色设置为蓝色。


复合选择器

复合选择器是由多个基础选择器通过不同的方式组合而成的,用于更精确地选择目标元素。

后代选择器

后代选择器用于选择某个元素的后代元素。父子选择器之间用空格隔开。

语法:

父选择器 子选择器 {
    /* 样式规则 */
}

示例:

选择<div>元素内部所有的<p>元素。

div p {
    /* 样式规则 */
}

后代选择器支持多级嵌套,即可以选择更深层次的后代元素。例如:

选择<div>元素内部的<ul>元素,再选择其中的<li>元素,最后选择<li>元素内部的<a>元素。

div ul li a {
    /* 样式规则 */
}

 通过合理运用后代选择器,你可以针对特定的HTML结构来选择需要应用样式的元素,实现更精确的样式控制。


子代选择器

子代选择器用于选择某个元素的直接子元素。父子选择器之间用 > 符号隔开。

语法:

父选择器 > 子选择器 {
    /* 样式规则 */
}

示例:

选择<div>元素下直接的所有<p>元素。

div > p {
    /* 样式规则 */
}

相比于后代选择器,子代选择器的作用范围更加精确,只选择直接子元素,不包括孙子元素及以下元素。


并集选择器

并集选择器用于同时选择多个不同类型的元素或相同类型的元素。选择器之间用 , 隔开。

语法:

选择器1, 选择器2, 选择器3 {
    /* 样式规则 */
}

示例:

同时选择<h1><h2>元素。

h1, h2 {
    /* 样式规则 */
}

通过合理运用并集选择器,你可以灵活地选择多个元素,并对它们进行统一的样式设置,实现样式的复用和统一管理。


伪类选择器-超链接

在CSS中,可以使用伪类选择器为超链接元素(<a>标签)应用不同的样式。以下是几个常用的超链接伪类选择器:

选择器作用
:link匹配未访问的连接状态
:visited匹配已访问的链接状态
:hover匹配鼠标悬停在链接上的状态
:active匹配被激活(点击)的状态

示例:

a:link {
    color: blue;
}

a:visited {
    color: purple;
}

a:hover {
    text-decoration: underline;
}

a:active {
    color: red;
}

上述代码中,:link 选择器设置未访问的链接为蓝色,:visited 选择器设置已访问的链接为紫色,:hover 选择器在鼠标悬停时添加下划线,:active 选择器在被点击时将链接颜色设为红色。

需要注意的是,在设置超链接的颜色时,应该按照 :link:visited:hover:active 的顺序进行设置,以确保样式生效。


结构伪类选择器

结构伪类选择器是CSS中一种用于选择元素在其位置上的特殊状态或结构关系的选择器。它们依赖于元素在文档中的位置、层次结构或其他结构性属性来进行选择。 

以下是几个常用的结构伪类选择器:

选择器说明
:first-child选取父元素下的第一个子元素
:last-child选取父元素下的最后一个子元素
:nth-child(n)选取父元素下的第n个子元素,可以使用数字、关键字(如even表示偶数,odd表示奇数)或公式形式(如2n+1)进行指定。
:nth-last-child(n)与 :nth-child(n) 类似,但从末尾开始计数。
:only-child

选取父元素中唯一一个子元素。


伪元素选择器

 

示例:

测试HTML代码:

<ul>
    <li>li-1</li>
    <li>li-2</li>
    <li>li-3</li>
    <li>li-4</li>
    <li>li-5</li>
    <li>li-6</li>
    <li>li-7</li>
    <li>li-8</li>
    <li>li-9</li>
    <li>li-10</li>
</ul>

 预览:


1.选取第一个<li>标签,并设置背景颜色:

li:first-child {
    background-color: green;
}

预览:

2.选取前5个<li>标签,并设置背景颜色:

li:nth-child(-n+5) {
    background-color: green;
}

 预览:

需要注意的是,结构伪类选择器只会考虑该元素在其父元素的直接子元素中的位置,而不会考虑更深层次的关系。 


伪元素选择器 

伪元素选择器用于选择元素的特定部分,而不是整个元素本身。它们以双冒号 :: 开头。

以下是常用的伪元素选择器:

选择器说明
::before在目标元素的内容前面插入一个虚拟元素,并可以通过CSS设置其样式。
::after在目标元素的内容后面插入一个虚拟元素,并可以通过CSS设置其样式。
::first-letter选取目标元素的第一个字母或汉字,并可以通过CSS设置其样式。
::first-line选取目标元素的第一行文本,并可以通过CSS设置其样式。
::selection选取用户选择的文本部分,并可以通过CSS设置选择文本的样式。

伪元素选择器可以为页面增加一些装饰或样式效果,例如下图的侧导航的小箭头


示例:

在按钮文本前面插入一个图标。

HTML代码:

<button class="icon-button">Click Me</button>

CSS代码:

.icon-button::before {
    content: "\f054";  /* 使用Unicode或CSS content值指定图表内容 */
    font-family: font awesome;  /* 使用自定义字体或图标库 */
    margin-right: 5px;  /* 调整图标与文本间距离 */
}

预览:

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

Indifferent-

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

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

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

打赏作者

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

抵扣说明:

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

余额充值