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

选择器分类和权重计算,less 中的 解释

一、选择器分类

css中选择器有:简单选择器和复杂选择器

1、简单选择器

  1. 通配符选择器(*):匹配任何元素
  2. 标签选择器(标签):指用HTML标签名称作为选择器
  3. 类选择器(class):使用"."(英文点号)进行标识,后面紧跟类名。
  4. id选择器:使用#进行标识,后面紧跟id名

2、复杂选择器

  • 1.属性选择器

  • 2.组合选择器
选择器含义
并集选择器A,B

两个选择器之间,逗号隔开的,逗号可以理解为和的意思

后代选择器A B

把外层标签写在前面,内层标签写在后面,中间用「空格」分隔,先写父亲,再写儿子孙子。

子元素选择器A>B

只能选择作为某元素子元素(亲儿子)的元素,

把父级标签写在前面,子级标签写在后面,中间跟一个 > 进行连接

A + B选中匹配 B 且为匹配 A 的元素的下一相邻元素
A ~ B选中匹配 B 且为匹配 A 的元素的下 N 个相邻元素

交集选择器AB

两个选择器之间不能有空格

交集选择器与后代选择器的区别?

从格式上来看
后代选择器:两个选择器之间要有空格
交集选择器:两个选择器之间没有空格
从内容上来看
后代选择器:后面一个标签/类选择器一定是前一个的后代,也就是说嵌套
交集选择器:后面一个标签只是对前面的标签选择器进行横向的再次筛选

交集选择器

<style> div.b { background-color: aqua; } </style> <body> <div class="b"> <p>我是一个屁</p> <span>我是span</span> <span>我是span</span> <span>我是span</span> </div> </body>
  • 3.伪类选择器
选择器含义
a:link匹配所有未被点击的链接
a:visited匹配所有已被点击的链接
a:hover匹配鼠标悬停其上的a元素
a:active匹配鼠标已经其上按下、还没有释放的a元素
E:first-child匹配父元素的第一个子元素E
E:last-child匹配父元素的最后一个子元素E
E:nth-child(n)匹配父元素的第n个子元素E(odd奇数,even偶数)

nth-child与nth-of-type区别:
1. nth-child 对父元素里面所有孩子排序选择(序号是固定的)先找到第n个孩子,然后看看是否和E匹配,若不匹配则不使用
2. nth-of-type 对父元素里面指定子元素进行排序选择。先去匹配E . 然后再根据E找第n个孩子

五、伪元素选择器

选择器含义
E::before在E元素内创建一个子元素,插入生成的内容作为伪元素,放在最前面
E::after在E元素内创建一个子元素,插入生成的内容作为伪元素,放在最后面

二、CSS三大特性

「1. CSS 层叠性」

「2. CSS 继承性」

「3. CSS 优先级(CSS特殊性)」

权重计算公式:

标签选择器

计算权重公式

继承或者 *

0,0,0,0

标签选择器

0,0,0,1

每个类,伪类

0,0,1,0

每个ID

0,1,0,0

每个行内样式 style=""

1,0,0,0

每个!important 最重要的 div { color: pink !important; }

∞ 无穷大

权重叠加:

div ul li ------> 0,0,0,3 .nav ul li ------> 0,0,1,2 a:hover -----—> 0,0,1,1 .nav a ------> 0,0,1,1

三、less 中的 & 解释

参考:

less 的 & 详解_hsany330的博客-CSDN博客_less中的&什么意思

& 作用介绍

内层选择器前面的 & 符号就表示对父选择器的引用。在一个内层选择器的前面,如果没有 & 符号,则它被解析为父选择器的后代;如果有 & 符号,它就被解析为父元素自身或父元素的伪类。同时用在选择器中的&还可以反转嵌套的顺序并且可以应用到多个类名上

1.当前选择器的伪类或者伪元素。如 :hover :focus :after :before等

.demo { &:after { content: '.'; display: block; background-color: aquamarine; } } /*被解释为*/ .demo:after { content: '.'; display: block; background-color: aquamarine; }

2.作为内层选择器表示对父选择器的引用。交集选择器

.demo { &-title { text-align: center; } } /*被解释为*/ .demo-title { text-align: center; }

3、后代选择器

.demo { .demo-title { text-align: center; } } 被解释为 .demo .demo-title { text-align: center; }

4、反转嵌套的顺序并且可以应用到多个类名上

.demo-title { .demo & { font-size: 20px; } } 被解释为 .demo .demo-title { font-size: 20px; }
http://www.jsqmd.com/news/1242146/

相关文章:

  • Tiva C系列MCU深度睡眠模式下的时钟门控与电源管理实战
  • HarmonyOS 6.1 实战:Navigation 路由组件全面解析
  • 麒麟信安“一云多芯”解决方案,助力传统IT架构变革转型
  • HDI综合效益优势-平衡小型化、迭代效率与长期量产成本
  • VirtualLab Fusion中的光学各向异性介质
  • Java面试之Linux和docker
  • TikTok广告投放多少钱?2026年最新投放成本与防关联指南
  • Instagram新功能倾向创作者,普通用户与创作者需求如何平衡?
  • [SPI]SPI接口简介
  • SARS-CoV-2病毒:从分子结构到全球大流行的全面解析
  • 嵌入式系统ROM代码执行与片上调试全解析:从启动到调试的底层实践
  • Cortex-M4系统控制与异常处理寄存器深度解析:从原理到实战
  • 绿幕发灰、边缘闪烁、头发丝丢失?Runway抠像失败的7个隐性参数陷阱,今天必须改!
  • 官宣,麒麟信安服务器操作系统V3.4-5正式发布
  • SATA控制器架构深度解析:从AHCI原理到嵌入式开发实践
  • PS5 NOR Modifier:终极方案解析,如何修复损坏的PS5 NOR闪存文件
  • 【AI副业口碑裂变公式】:3个被低估的传播杠杆,90%从业者从未用过
  • 大气湍流下的少模光纤耦合
  • HarmonyOS 6.1 实战:GridRow/GridCol 响应式栅格布局详解
  • 2026留学生找工作平台评测:靠谱平台推荐与选型攻略 - 极欧测评
  • torch.distributed的通信原语选择:all_reduce、all_gather与reduce_scatter
  • Orin 上开机自启跑检测docker容器(含完整脚本)
  • TMS320C6424 DSP外设实战:PWM、VLYNQ、GPIO与JTAG深度配置指南
  • 代码不是 AI 编程的最终资产,AI Coding 真正该存的是 Checkpoint
  • 深入解析C2000 SCI模块:中断、DMA与低功耗模式实战指南
  • 鸿蒙Flutter push与pop操作:页面跳转与返回基本操作
  • 浅谈 MySQL 主从复制,优点?原理?
  • HarmonyOS应用开发实战:萌宠日记 - 活动横幅卡片设计
  • html之flex伸缩盒子;grid布局
  • WinForm集成PDF功能的技术方案与优化实践