CSS级联层演示 - @layer优先级可视化
交互式调整@layer顺序和选择器,实时观察CSS级联层如何影响样式应用,学习现代特性。
UD5工具箱
输入多个CSS选择器,实时计算特异性(Specificity)并可视化对比,一目了然哪个选择器优先级最高
| 排名 | 选择器 | 特异性 (a,b,c,d) | 加权总分 | 结果 |
|---|
CSS特异性是浏览器决定哪个CSS规则应用于元素的优先级系统。它使用四元组 (a, b, c, d) 表示:
a:内联样式(style属性),值为0或1
b:ID选择器数量(如 #header)
c:类选择器(.class)、属性选择器([attr])、伪类(:hover)的数量
d:元素选择器(div)、伪元素(::before)的数量
比较时从左到右逐级比较,先比a,再比b,再比c,最后比d。通配符*不计入任何层级。
:not() 本身不贡献特异性,但其内部参数选择器的特异性会被计入。
例如 :not(#id .class) 内部包含 #id(b层级+1)和 .class(c层级+1),
因此该部分贡献 (0,1,1,0)。如果参数中有多个选择器(逗号分隔),取最高的那个。
:is() 的特异性等于其参数列表中最高特异性的选择器。
而 :where() 的特异性始终为0(零特异性),非常适合用作"低优先级"的基础样式。
:has() 的行为与 :is() 相同,取其参数中最高特异性。
伪元素(如 ::before、::after)计入 d层级(与元素选择器同级),
而伪类(如 :hover、:focus、:nth-child())计入 c层级(与类选择器同级)。
使用单冒号的旧语法伪元素(如 :before)在特异性计算中同样按伪元素处理(d层级)。
当特异性相同时,CSS遵循源代码顺序——后出现的规则覆盖先出现的规则。
这也被称为"层叠"(Cascade)的一部分。在本工具中,相同特异性的选择器会被标记为"平局⚡"。
另外,!important 声明会超越所有特异性计算,但不推荐滥用。
所有属性选择器(无论是否有值匹配)都计入 c层级,每个属性选择器贡献1。
包括:[attr]、[attr=val]、[attr^=val]、[attr$=val]、
[attr*=val]、[attr~=val]、[attr|=val] 等。
通配符 * 的特异性为 (0,0,0,0),即零特异性。它不计入任何层级。
但 * 仍然是一个有效的选择器,可以匹配所有元素。组合器(空格、>、+、~)也不影响特异性。
交互式调整@layer顺序和选择器,实时观察CSS级联层如何影响样式应用,学习现代特性。
将CSS规则分配到不同@layer,并可视化展示最终生效声明及其来源层级,深入理解级联。
浏览专用于像素风游戏的免费字体,输入文字实时预览并获取引入代码。
使用scheduler.postTask API安排不同优先级的任务,并观察执行顺序。
上传一张图片,同时压缩为多种格式并调整质量,并排比较细节与文件大小,选择最佳格式。
将图片边缘检测后转换为SVG路径,生成基础矢量轮廓图,适合简单logo描摹。
上传SVG图标,生成包含这些图标的Web字体文件包及CSS使用代码。
使用空格填充,将文本按指定的列宽左对齐、右对齐或居中对齐,适合纯文本报表。
生成固定在页面顶部或底部的滚动进度条,显示当前阅读进度。
输入URL,在同一个页面上并排显示手机/平板/桌面三种尺寸的实时预览。
设定百分比、颜色和粗细,生成环形SVG进度条代码,可增加动画。
上传设计稿,按喜欢、疑问、建议三区邀请评审回复,形成报告。
上传或输入CSV多变量数据,绘制平行坐标图,支持刷选高亮模式。
在线可视化调整元素圆角半径,支持统一或分别设置四个角,实时预览圆角效果并生成CSS代码。
生成包含已完成、活跃、未完成状态的横向步骤进度指示器HTML/CSS。
上传图片,点击绘制不规则链接区域,生成HTML <map>代码。
输入一个数值,快速计算其黄金分割长边和短边,用于版式设计、图形比例参考。
输入URL,检测其是否包含常见安全增强的HTTP响应头并给出评分。
输入文件扩展名或MIME类型,查询对应的标准媒体类型,涵盖常见文档、图片、音视频格式。
搜索并实时过滤所有FA6免费图标,点击直接复制 `<i>` 标签或Unicode。
拖拽四角将斜拍的文档拉平为标准矩形,重采样为正对视角的文档图片。
创建多个存储桶,分别设置持久化与配额策略,管理不同业务数据的存储优先级与驱逐顺序。
生成指定个数的斐波那契数,并展示相邻两项比值趋近黄金比例的过程。
显示用颜色书写的颜色词,要求选择实际文字颜色,测抑制能力。
输入屏幕尺寸与宽高像素,计算每英寸像素数(PPI),比较设备细腻度。
显示navigator.deviceMemory数值,并给出基于内存的代码分割与功能降级建议。
选择多个PDF,调整顺序后使用pdf-lib合并成一个新PDF,本地处理安全。
选择缓存策略(Network First, Cache First等),填写预缓存文件列表,生成sw.js文件。
生成指定宽度和高度的占位图片,可选择类别(自然、人物、抽象)和灰度。
提供常见UI组件的粗线框风格,拖拽拼接屏幕流程。