【前端系列】CSS 常见的选择器

news2024/9/26 3:32:33

CSS 常见的选择器

CSS(层叠样式表)是一种用于描述网页样式的标记语言,它定义了网页中各个元素的外观和布局。在 CSS 中,选择器是一种用于选择要应用样式的 HTML 元素的模式。选择器允许开发人员根据元素的类型、属性、关系等来选择元素,从而对它们应用样式。

选择器在 CSS 中扮演着至关重要的角色,它们可以帮助开发人员轻松地选择页面中的特定元素,从而实现样式的精确控制。在本文中,我们将介绍一些常见的 CSS 选择器,包括基本选择器、属性选择器、伪类和伪元素等,以帮助您更好地理解和应用 CSS 样式。

image-20240310234601214

1. 基本选择器

基本选择器是最简单和最常用的选择器类型,它们直接选择特定类型的 HTML 元素。以下是一些常见的基本选择器:

1.1 元素选择器

元素选择器选择特定类型的 HTML 元素。例如,如果要选择所有段落元素(<p>),可以使用以下样式:

p {
  /* 样式规则 */
}

1.2 类选择器

类选择器选择具有特定类名的元素。类名以.开头。例如,要选择所有类名为highlight的元素,可以使用以下样式:

.highlight {
  /* 样式规则 */
}

1.3 ID 选择器

ID 选择器选择具有特定 ID 的元素。ID 名以#开头。虽然 ID 选择器在页面中是唯一的,但应避免过度使用它们,因为它们的优先级很高,可能导致样式不易维护。例如,要选择 ID 为header的元素,可以使用以下样式:

#header {
  /* 样式规则 */
}

image-20240310234619373

2. 属性选择器

属性选择器允许您选择具有特定属性或属性值的元素。以下是一些常见的属性选择器:

2.1 属性存在选择器

属性存在选择器选择具有指定属性的所有元素,而不考虑其值是什么。例如,要选择所有具有title属性的元素,可以使用以下样式:

[title] {
  /* 样式规则 */
}

2.2 属性值选择器

属性值选择器选择具有指定属性值的元素。例如,要选择所有href属性值以https://开头的链接,可以使用以下样式:

[href^="https://"]
{
  /* 样式规则 */
}

2.3 属性包含选择器

属性包含选择器选择具有指定属性值的元素,其中属性值包含特定字符串。例如,要选择所有class属性包含button的元素,可以使用以下样式:

[class*="button"] {
  /* 样式规则 */
}

3. 关系选择器

关系选择器允许您选择特定元素之间的关系。以下是一些常见的关系选择器:

3.1 后代选择器

后代选择器选择某个元素的后代元素。它使用空格分隔两个选择器。例如,要选择所有段落元素中的<strong>元素,可以使用以下样式:

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

3.2 子元素选择器

子元素选择器选择某个元素的直接子元素。它使用>符号分隔两个选择器。例如,要选择所有<ul>元素的直接子元素<li>,可以使用以下样式:

ul > li {
  /* 样式规则 */
}

3.3 相邻兄弟选择器

相邻兄弟选择器选择某个元素的相邻兄弟元素。它使用+符号分隔两个选择器。例如,要选择所有<h2>元素后紧跟的<p>元素,可以使用以下样式:

h2 + p {
  /* 样式规则 */
}

4. 伪类和伪元素选择器

伪类和伪元素选择器允许您选择元素的特定状态或位置。以下是一些常见的伪类和伪元素选择器:

4.1 :hover 伪类

:hover伪类选择鼠标悬停在元素上时的状态。例如,要在鼠标悬停在链接上时改变其颜色,可以使用以下样式:

a:hover {
  /* 样式规则 */
}

4.2 :nth-child() 伪类

:nth-child()伪类选择元素在其父元素中的位置。它接受一个参数,用于指定位置。例如,要选择每个偶数行的元素,可以使用以下样式:

tr:nth-child(even) {
  /* 样式规则 */
}

4.3 ::before 和 ::after 伪元素

::before::after伪元素允许您在元素的内容之前和之后插入内容。例如,要在每个段落前添加引号,可以使用以下样式:

p::before {
  content: '"';
}

image-20240310234639231

结论

CSS 选择器是控制网页样式的重要工具之一。本文介绍了一些常见的 CSS 选择器类型,包括基本选择器、属性选择器、关系选择器以及伪类和伪元素选择器。了解和熟练运用这些选择器将使您能够更好

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1507344.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Android平台实现无纸化同屏并推送RTMP或轻量级RTSP服务(毫秒级延迟)

技术背景 在写这篇文章之前&#xff0c;实际上几年之前&#xff0c;我们就有非常稳定的无纸化同屏的模块&#xff0c;本文借demo更新&#xff0c;算是做个新的总结&#xff0c;废话不多说&#xff0c;先看图&#xff0c;本文以Android平台屏幕实时采集推送&#xff0c;Windows…

javaEE6(网站第3章-jsp练习中三个例题动手做一遍;课后题2(1),(2))

两个数求和 用javascript实现。 输入、处理、输出用同一个页面(自己处理自己)。 输入1.jsp&#xff0c;处理和输出2.jsp。 &#xff08;4&#xff09;输入1.jsp&#xff0c;处理2.jsp&#xff0c;处理完转回1.jsp显示结果。 &#xff08;5&#xff09;输入1.jsp&#xff0c;处…

【Prometheus】k8s集群部署node-exporter

​ 目录 一、概述 1.1 prometheus简介 1.2 prometheus架构图 1.3 Exporter介绍 1.4 监控指标 1.5 参数定义 1.6 默认启用的参数 1.7 prometheus如何收集k8s/服务的–三种方式收集 二、安装node-exporter组件 【Prometheus】概念和工作原理介绍-CSDN博客 【云原生】ku…

堆宝塔(Python)

作者 陈越 单位 浙江大学 堆宝塔游戏是让小朋友根据抓到的彩虹圈的直径大小&#xff0c;按照从大到小的顺序堆起宝塔。但彩虹圈不一定是按照直径的大小顺序抓到的。聪明宝宝采取的策略如下&#xff1a; 首先准备两根柱子&#xff0c;一根 A 柱串宝塔&#xff0c;一根 B 柱用于…

计算表达式x*(2^i)的值math.ldexp(x, i)

【小白从小学Python、C、Java】 【计算机等考500强证书考研】 【Python-数据分析】 计算表达式x*(2^i)的值 math.ldexp(x, i) [太阳]选择题 关于以下代码输出的结果说法正确的是&#xff1f; import math print("【执行】math.ldexp(3,2)") print(math.ldexp(3,2)) …

PromptBreeder---针对特定领域演化和发展提示词的方法

原文地址&#xff1a;promptbreeder-evolves-adapts-prompts-for-a-given-domain 论文地址&#xff1a;https://arxiv.org/pdf/2309.16797.pdf 2023 年 10 月 6 日 提示方法分为两大类 硬提示是由人工精心设计的文本提示&#xff0c;包含离散的输入令牌&#xff1b;其缺点…

报名开启丨掘金海外,探寻泛娱乐社交APP出海新风口

随着国内泛娱乐行业用户规模趋于见顶&#xff0c;泛娱乐社交APP转向出海是必然趋势。 根据行业数据显示&#xff0c;有超过35%的国内实时社交企业已启动或者正在规划出海&#xff0c;而其中出海商户的音视频流量增长均超过了100&#xff05;。尤其是在东南亚、中东、拉美等新兴…

简介:CMMI软件能力成熟度集成模型

前言 CMMI是英文Capability Maturity Model Integration的缩写。 CMMI认证简称软件能力成熟度集成模型&#xff0c;是鉴定企业在开发流程化和质量管理上的国际通行标准&#xff0c;全球软件生产标准大都以此为基点&#xff0c;并都努力争取成为CMMI认证队伍中的一分子。 对一个…

Java算法之动态规划

Java算法之动态规划 前言 ​ 最近这一段时间一直在刷算法题&#xff0c;基本上一有时间就会做一两道&#xff0c;这两天做了几道动态规划的问题&#xff0c;动态规划之前一直是我比较头疼的一个问题&#xff0c;感觉好复杂&#xff0c;一遇到这样的问题就想跳过&#xff0c;昨…

科技引领品质:飞利浦智能锁“12年免费换新机”重塑行业新标杆

随着智能锁行业的竞争愈发火热&#xff0c;各大品牌在技术创新和服务升级方面不断推陈出新。售后服务的形态正发生深刻变化&#xff0c;从传统的保修维修到如今的技术支持、24小时在线客服等&#xff0c;各大品牌都在不断地提升售后服务水平&#xff0c;以创新的服务理念和先进…

【C++】十大排序算法之 桶排序 基数排序

本次介绍内容参考自&#xff1a;十大经典排序算法&#xff08;C实现&#xff09; - fengMisaka - 博客园 (cnblogs.com) 排序算法是《数据结构与算法》中最基本的算法之一。 十种常见排序算法可以分为两大类&#xff1a; 比较类排序&#xff1a;通过比较来决定元素间的相对次序…

5G网络助力智慧文旅发展:实现旅游资源的优化配置与高效利用

目录 一、5G网络在智慧文旅中的关键作用 1、高速率传输提升数据处理能力 2、低时延助力实时决策与调度 3、大连接实现全面覆盖与精细化管理 二、5G网络助力实现旅游资源的优化配置 1、精准匹配游客需求与旅游资源 2、促进旅游资源的跨区域合作与共享 三、5G网络助力实现…

JavaSE-集合

● 在开发实践中&#xff0c;我们需要一些能够动态增长长度的容器来保存我们的数据&#xff0c;java中为了解决数据存储单一的情况&#xff0c;java中就提供了不同结构的集合类&#xff0c;可以让我们根据不同的场景进行数据存储的选择&#xff0c;如Java中提供了 数组实现的集…

【DimPlot】【FeaturePlot】使用小tips

目录 DimPlot函数参数解析 栅格化点图 放大 ggplot2 图例的点&#xff0c;修改图例的标题 FeaturePlot函数参数解析 调整FeaturePlot颜色 分组绘制featureplot 随手笔记&#xff0c;持续更新中。。。 Reference DimPlot函数参数解析 object: 一个Seurat对象&#xff0c;…

基于spring boot技术的签到管理系统的设计与实现

目 录 摘 要 I Abstract II 引 言 1 1 相关技术 3 1.1 SpringBoot框架 3 1.2 Vue框架 3 1.3 ECharts 3 1.4 JQuery技术 4 1.5 本章小结 4 2 系统分析 5 2.1 需求分析 5 2.2 非功能需求 8 2.3 本章小结 8 3 系统设计 9 3.1 系统总体设计 9 3.1.1 系统体系结构 9 3.1.2 系统目录…

【深入理解LRU Cache】:缓存算法的经典之作

目录 一、什么是LRU Cache&#xff1f; 二、LRU Cache的实现 1.JDK中类似LRUCahe的数据结构LinkedHashMap 2.自己实现双向链表 三、LRU Cache的OJ 一、什么是LRU Cache&#xff1f; LRU Cache&#xff08;Least Recently Used的缩写&#xff0c;即最近最少使用&#xff0…

python INI文件操作与configparser内置库

目录 INI文件 configparser内置库 类与方法 操作实例 导入INI文件 查询所有节的列表 判断某个节是否存在 查询某个节的所有键的列表 判断节下是否存在某个键 增加节点 删除节点 增加节点的键 修改键值 保存修改结果 获取键值 获取节点所有键值 其他读取方式 …

JAVA实战开源项目:超市自助付款系统(Vue+SpringBoot)

目录 一、摘要1.1 项目介绍1.2 项目录屏 二、研究内容2.1 商品类型模块2.2 商品模块2.3 超市账单模块 三、界面展示3.1 登录注册模块3.2 超市商品类型模块3.3 超市商品模块3.4 商品购买模块3.5 超市账单模块 四、部分源码展示4.1 实体类定义4.2 控制器接口 五、配套文档展示六、…

【APP逆向】酒仙网预约茅台(附带源码)

✨✨ 欢迎大家来到景天科技苑✨✨ 🎈🎈 养成好习惯,先赞后看哦~🎈🎈 所属的专栏:爬虫实战,零基础、进阶教学 景天的主页:景天科技苑 文章目录 酒仙网预约抢购茅台1.抓包分析,账户名和密码登录2.短信登录3.登录+茅台预约 密码登录酒仙网预约抢购茅台 目标:账号登…

Fortran语法介绍(三)

个人专栏—ABAQUS专栏 Abaqus2023的用法教程——与VS2022、oneAPI 2024子程序的关联方法 Abaqus2023的用法教程——与VS2022、oneAPI 2024子程序的关联方法Abaqus有限元分析——有限元网格划分基本原则 Abaqus有限元分析——有限元网格划分基本原则各向同性线弹性材料本构模型…