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

css的选择器有哪些?权重由大到小是怎么排序的?

CSS选择器有很多种,下面是常见的选择器类型,并按照其权重(即优先级)从高到低进行排序。

CSS选择器类型
通用选择器 (*)  (通配符选择器)

选择所有元素,权重最低。
例如:* { color: red; }
类型选择器 (元素选择器)

选择指定类型的元素。
例如:div { color: red; }
类选择器 (.)

选择具有特定类名的元素。
例如:.class-name { color: red; }
ID选择器 (#)

选择具有特定ID的元素,ID在整个文档中应该是唯一的。
例如:#id-name { color: red; }
属性选择器

根据元素的属性来选择元素。
例如:[type="text"] { color: red; },选择所有type属性值为"text"的元素。
伪类选择器 (:)

选择元素的特定状态。
例如::hover { color: red; },选择当鼠标悬停在元素上时的状态。
伪元素选择器 (::)

用于选择元素的特定部分,如选中元素的首字母、首行等。
例如:::before { content: "★"; },在元素内容之前插入符号。
后代选择器 (空格)

选择某元素内部的所有后代元素。
例如:div p { color: red; },选择所有div元素内部的p元素。
子元素选择器 (>)

选择某元素的直接子元素。
例如:div > p { color: red; },选择div的直接子元素p。
相邻兄弟选择器 (+)

选择紧接在指定元素后的第一个兄弟元素。
例如:h1 + p { color: red; },选择紧接在h1后的第一个p元素。
通用兄弟选择器 (~)

选择指定元素之后的所有兄弟元素。
例如:h1 ~ p { color: red; },选择所有在h1之后的p元素。
CSS选择器权重(优先级)
CSS选择器的权重计算方式是根据选择器的组成部分,权重越高的选择器优先级越高。权重是一个四元组的形式,通常表示为 (a, b, c, d),其中:

a:内联样式的数量(直接在HTML元素的style属性中设置的样式),此值是最高优先级。比内联样式还高一级的是!important
b:ID选择器的数量(每个ID选择器的优先级为100)。
c:类选择器、伪类选择器、属性选择器的数量(每个此类选择器的优先级为10)。
d:元素选择器、伪元素选择器的数量(每个此类选择器的优先级为1)。
权重从高到低排序
内联样式

例如:<div style="color: red;">
权重:(1, 0, 0, 0)
ID选择器

例如:#id
权重:(0, 1, 0, 0)
类选择器、属性选择器、伪类选择器

例如:.class, [type="text"], :hover
权重:(0, 0, 1, 0)
元素选择器、伪元素选择器

例如:div, p, ::before, ::after
权重:(0, 0, 0, 1)
通用选择器 (*)

权重:(0, 0, 0, 0)(没有实际权重)
权重计算示例
选择器 #header .menu li a 的权重:

ID选择器:#header → 权重 0, 1, 0, 0
类选择器:.menu → 权重 0, 0, 1, 0
元素选择器:li 和 a → 权重 0, 0, 0, 1(两次)
总权重:(0, 1, 2, 2)

选择器 div > p:hover 的权重:

元素选择器:div, p → 权重 0, 0, 0, 1(两次)
伪类选择器::hover → 权重 0, 0, 1, 0
总权重:(0, 0, 2, 2)

小结
CSS选择器的优先级排序由高到低是:内联样式 > ID选择器 > 类选择器、伪类选择器、属性选择器 > 元素选择器、伪元素选择器 > 通用选择器。通过这种方式,CSS可以决定多个样式规则同时作用于同一元素时,哪个规则会生效。

相关文章:

css的选择器有哪些?权重由大到小是怎么排序的?

CSS选择器有很多种&#xff0c;下面是常见的选择器类型&#xff0c;并按照其权重&#xff08;即优先级&#xff09;从高到低进行排序。 CSS选择器类型 通用选择器 (*) &#xff08;通配符选择器&#xff09; 选择所有元素&#xff0c;权重最低。 例如&#xff1a;* { color:…...

CTF知识集-PHP特性

title: CTF知识集-PHP特性 写在开头可能会用到的提示 call_user_func 调用的函数可以不区分大小写preg_match过滤存在长度溢出&#xff0c;长度超过100w检测失效。str_repeat(‘show’,250000); 生成100w个字符preg_match是无法处理数组的&#xff0c;例如:preg_match( n u m…...

比特币是否会取代美元(以及其他主权货币)

上图是 Olivier Blanchard 宏观经济学第八版的英文版内容。这里用中文解释。 1. 背景与现状&#xff1a; 比特币的规模与美元相比仍然很小&#xff1a; 截至 2018 年 12 月&#xff0c;比特币的总流通量为 1730 万枚&#xff0c;每枚价值 $3,900&#xff0c;总市值约 $670 亿…...

WPF+MVVM案例实战与特效(三十七)- 实现带有水印和圆角的自定义 TextBox 控件

文章目录 1、概述2、案例实现1、基本功能2、代码实现3、控件应用4、案例效果4、总结1、概述 在开发用户界面时,TextBox 是最常见的输入控件之一。为了提升用户体验,我们经常需要为 TextBox 添加一些额外的功能,例如显示提示文本(水印)和设置圆角边框。本文将详细介绍如何…...

深度学习训练参数之学习率介绍

学习率 1. 什么是学习率 学习率是训练神经网络的重要超参数之一&#xff0c;它代表在每一次迭代中梯度向损失函数最优解移动的步长&#xff0c;通常用 η \eta η 表示。它的大小决定网络学习速度的快慢。在网络训练过程中&#xff0c;模型通过样本数据给出预测值&#xff0…...

导游现场面试需要注意的问题

今天给大家带来一些导游现场面试需要注意的问题&#xff0c;大部分的城市导游考试已经考完了&#xff0c;但是还有一些城市的十二月份才考&#xff0c;有需要的朋友们赶紧来看&#xff0c;有备无患。 01、做好充足准备 认真准备做好每个景点的讲解介绍&#xff0c;不要抱有侥幸…...

Burp suite 3 (泷羽sec)

声明 学习视频来自B站UP主 泷羽sec,如涉及侵泷羽sec权马上删除文章。 笔记只是方便各位师傅学习知识,以下网站只涉及学习内容,其他的都与本人无关,切莫逾越法律红线,否则后果自负 这节课旨在扩大自己在网络安全方面的知识面&#xff0c;了解网络安全领域的见闻&#xff0c;了…...

LabVIEW前面板无法显示的常见原因

当 LabVIEW 前面板显示为白色或黑色时&#xff0c;可能由于控件可视性设置、显卡驱动问题、程序错误或 LabVIEW 设置不当引起。通过检查面板设置、更新驱动、重启程序等方式可有效解决此问题。 遇到前面板无法显示或显示为白色/黑色的情况&#xff0c;可能有以下几种原因。可以…...

【Syncfusion系列】Diagram 杂谈 第三篇 序列化和反序列化

目录 序列化保存C# 代码示例&#xff0c; 方式1 &#xff1a;C# 代码示例&#xff0c; 方式2 &#xff1a; 反序列化加载C# 代码示例, 方式1&#xff1a;C# 代码示例, 方式2&#xff1a; **如何序列化自定义属性**序列化和反序列化都存在的一个问题解决方式 图表是否已修改&…...

Apache APISIX快速入门

本文将介绍Apache APISIX&#xff0c;这是一个开源API网关&#xff0c;可以处理速率限制选项&#xff0c;并且可以轻松地完全控制外部流量对内部后端API服务的访问。我们将看看是什么使它从其他网关服务中脱颖而出。我们还将详细讨论如何开始使用Apache APISIX网关。 在深入讨…...

【经典】制造供应链四类策略(MTS、MTO、ATO、ETO)细说

关注作者 制造供应链的牛鞭问题与复杂问题主要是从两个方面解决&#xff0c;一是同步化供应链消减从需求到供应的放大效应&#xff0c;二是供应链细分&#xff0c;针对不同的客户、不同的需求供应的匹配策略来应对复杂性&#xff0c;更好的满足客户并以最低的总成本来实现。 对…...

基于stm32的红外测温系统设计(论文+源码)

1总体方案设计 本课题为基于STM32的红外测温系统设计&#xff0c;在此将系统架构设计如图3.1所示&#xff0c; 整个系统包括STM32F103单片机&#xff0c;红外测温模块MLX90614&#xff0c;显示模块OLED12864&#xff0c;蜂鸣器以及按键等构成&#xff0c;在功能上&#xff0c;…...

前端WebSocket应用——聊天实时通信的基本配置

使用 WebSocket 实现实时通信的 Vue 应用 前言1. WebSocketService 类 1.1 类属性1.2 构造函数和连接初始化1.3 WebSocket 连接1.4 事件处理方法1.5 发送和关闭 WebSocket 消息1.6 状态查询与回调注册1.7 完整代码 2. 在 Vue 组件中使用 WebSocketService 2.1 定义 WebSocket …...

博弈论1:拿走游戏(take-away game)

假设你和小红打赌&#xff0c;玩“拿走游戏”&#xff0c;输的人请对方吃饭.... 你们面前有21个筹码&#xff0c;放成一堆&#xff1b;每轮你或者小红可以从筹码堆中拿走1个/2个/3个&#xff1b;第一轮你先拿&#xff0c;第二轮小红拿&#xff0c;你们两个人交替进行;拿走筹码堆…...

Debezium OracleValueConverters 分析

Debezium OracleValueConverters 分析 目录 1. 概述2. 核心功能3. 数据类型映射4. 特殊场景处理5. 最佳实践6. 使用示例7. 常见问题8. 扩展建议9. 总结1. 概述 OracleValueConverters 是 Debezium Oracle 连接器中负责数据类型转换的核心类,它继承自 JdbcValueConverters。主…...

WPF 消息循环(二)

们已经知道&#xff0c;win32/MFC/WinForm/WPF 都依靠消息循环驱动&#xff0c;让程序跑起来。 这里就介绍 WPF 中是如何使用消息循环来驱动程序的。 1. 背景 只听说过 Dispatcher &#xff0c;哪里来的消息循环&#xff1f; WPF 启动运行堆栈&#xff1a; > WpfApp1.…...

ubuntu上更改ext4格式的硬盘为 windows的 NTFS 格式参考

1. ubuntu上安装 sudo apt-get install gparted 2. 参考如下&#xff0c;下面是转换后的样例。 3.windows上添加识别新硬盘参考 先在设备管理器中 找到下面 磁盘管理 如下&#xff1a;找到类似下面的磁盘2 查看相关信息 右键可以新建卷和格式化&#xff0c;下面是已经新建…...

Fastapi教程:使用 aioredis 连接池执行Redis 的高效异步操作

在构建高性能的 Web 应用时&#xff0c;缓存系统是一个至关重要的组成部分。Redis 是最常见的缓存系统之一&#xff0c;它提供了高效的存储与读取机制。然而&#xff0c;在与 Redis 进行频繁交互时&#xff0c;创建和销毁连接可能会成为瓶颈。为了优化这一问题&#xff0c;我们…...

配置mysqld(读取选项内容,基本配置),数据目录(配置的必要性,目录下的内容,具体文件介绍,修改配置)

目录 配置mysqld 读取选项内容 介绍 启动脚本 基本配置 内容 端口号 数据目录的路径 配置的必要性 配置路径 mysql数据目录 具体文件 修改配置时 权限问题 配置mysqld 读取选项内容 介绍 会从[mysqld] / [server] 节点中读取选项内容 优先读取[server] 虽然服务…...

docker 容器相互访问

目前采用 network 方式 1. 创建自定义网络 docker network create network-group 如下 2. 相互访问的容器更改&#xff08;目前演示redis 以及netcore api 访问redis &#xff09; //redis 原有容器删除 跟之前区别就是加入 --network network-group docker run \ -p 6379:…...

uniapp微信小程序视频实时流+pc端预览方案

方案类型技术实现是否免费优点缺点适用场景延迟范围开发复杂度​WebSocket图片帧​定时拍照Base64传输✅ 完全免费无需服务器 纯前端实现高延迟高流量 帧率极低个人demo测试 超低频监控500ms-2s⭐⭐​RTMP推流​TRTC/即构SDK推流❌ 付费方案 &#xff08;部分有免费额度&#x…...

拉力测试cuda pytorch 把 4070显卡拉满

import torch import timedef stress_test_gpu(matrix_size16384, duration300):"""对GPU进行压力测试&#xff0c;通过持续的矩阵乘法来最大化GPU利用率参数:matrix_size: 矩阵维度大小&#xff0c;增大可提高计算复杂度duration: 测试持续时间&#xff08;秒&…...

什么?连接服务器也能可视化显示界面?:基于X11 Forwarding + CentOS + MobaXterm实战指南

文章目录 什么是X11?环境准备实战步骤1️⃣ 服务器端配置(CentOS)2️⃣ 客户端配置(MobaXterm)3️⃣ 验证X11 Forwarding4️⃣ 运行自定义GUI程序(Python示例)5️⃣ 成功效果![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/55aefaea8a9f477e86d065227851fe3d.pn…...

学校时钟系统,标准考场时钟系统,AI亮相2025高考,赛思时钟系统为教育公平筑起“精准防线”

2025年#高考 将在近日拉开帷幕&#xff0c;#AI 监考一度冲上热搜。当AI深度融入高考&#xff0c;#时间同步 不再是辅助功能&#xff0c;而是决定AI监考系统成败的“生命线”。 AI亮相2025高考&#xff0c;40种异常行为0.5秒精准识别 2025年高考即将拉开帷幕&#xff0c;江西、…...

tomcat入门

1 tomcat 是什么 apache开发的web服务器可以为java web程序提供运行环境tomcat是一款高效&#xff0c;稳定&#xff0c;易于使用的web服务器tomcathttp服务器Servlet服务器 2 tomcat 目录介绍 -bin #存放tomcat的脚本 -conf #存放tomcat的配置文件 ---catalina.policy #to…...

Rust 开发环境搭建

环境搭建 1、开发工具RustRover 或者vs code 2、Cygwin64 安装 https://cygwin.com/install.html 在工具终端执行&#xff1a; rustup toolchain install stable-x86_64-pc-windows-gnu rustup default stable-x86_64-pc-windows-gnu ​ 2、Hello World fn main() { println…...

抽象类和接口(全)

一、抽象类 1.概念&#xff1a;如果⼀个类中没有包含⾜够的信息来描绘⼀个具体的对象&#xff0c;这样的类就是抽象类。 像是没有实际⼯作的⽅法,我们可以把它设计成⼀个抽象⽅法&#xff0c;包含抽象⽅法的类我们称为抽象类。 2.语法 在Java中&#xff0c;⼀个类如果被 abs…...

9-Oracle 23 ai Vector Search 特性 知识准备

很多小伙伴是不是参加了 免费认证课程&#xff08;限时至2025/5/15&#xff09; Oracle AI Vector Search 1Z0-184-25考试&#xff0c;都顺利拿到certified了没。 各行各业的AI 大模型的到来&#xff0c;传统的数据库中的SQL还能不能打&#xff0c;结构化和非结构的话数据如何和…...

aardio 自动识别验证码输入

技术尝试 上周在发学习日志时有网友提议“在网页上识别验证码”&#xff0c;于是尝试整合图像识别与网页自动化技术&#xff0c;完成了这套模拟登录流程。核心思路是&#xff1a;截图验证码→OCR识别→自动填充表单→提交并验证结果。 代码在这里 import soImage; import we…...

CppCon 2015 学习:REFLECTION TECHNIQUES IN C++

关于 Reflection&#xff08;反射&#xff09; 这个概念&#xff0c;总结一下&#xff1a; Reflection&#xff08;反射&#xff09;是什么&#xff1f; 反射是对类型的自我检查能力&#xff08;Introspection&#xff09; 可以查看类的成员变量、成员函数等信息。反射允许枚…...