当前位置: 首页 > news >正文

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;  /* 调整图标与文本间距离 */
}

预览:

http://www.lryc.cn/news/132379.html

相关文章:

  • 上位机工作总结(2023.03-2023.08)
  • APSIM模型参数优化 批量模拟丨气象数据准备、物候发育和光合生产、物质分配与产量模拟、土壤水分平衡算法、土壤碳氮平衡模块、农田管理模块等
  • Azure防火墙
  • 【LeetCode】剑指 Offer Ⅱ 第4章:链表(9道题) -- Java Version
  • Android SDK 上手指南|| 第三章 IDE:Android Studio速览
  • Vue--》打造个性化医疗服务的医院预约系统(七)完结篇
  • 点亮一颗LED灯
  • SSH远程直连--------------Docker容器
  • Python/Spring Cloud Alibaba开发--前端复习笔记(1)———— html5和css3.html基础
  • open cv学习 (十一)视频处理
  • 函数栈帧理解
  • 【SA8295P 源码分析】70 - QAM8295P 原理图参考设计 之 DP、eDP 接口硬件原理分析
  • 【CSS动画02--卡片旋转3D】
  • 数据结构<树和二叉树>顺序表存储二叉树实现堆排
  • 理解docker命令
  • 【SA8295P 源码分析】16 - QNX侧 TouchScreen Panel (TP)线程函数 tp_recv_thread 源码分析
  • 第九章MyBatis的技巧
  • 计算机技术与软件专业技术资格(水平)考试----系统架构设计师
  • 使用nrm快速切换npm源以及解决Method Not Implemented
  • NVIDIA Jetson 项目:机器人足球比赛
  • 【论文解读】Hybrid-SORT: Weak Cues Matter for Online Multi-Object Tracking
  • Microsoft 图像BERT,基于大规模图文数据的跨模态预训练
  • vue3+elementUI-plus实现select下拉框的虚拟滚动
  • 学C的第三十四天【程序环境和预处理】
  • 微服务中间件--Ribbon负载均衡
  • 字符设备驱动实例(ADC驱动)
  • python基础5——正则、数据库操作
  • SpringAOP原理:手写动态代理实现
  • 【旅游度假】Axure酒店在线预订APP原型图 旅游度假子模块原型模板
  • Android JNI系列详解之CMake和ndk-build编译工具介绍