未使用 CSS 扫描器 - 根据 HTML 检测多余样式
提供 HTML 和 CSS,分析哪些选择器在当前页面中未被使用,提供清理建议。
UD5工具箱
选择器复杂度评估 · 特异性计算 · 冗余检测 · 优化建议
粘贴CSS代码并点击"开始分析",查看选择器复杂度与冗余检测结果
| 选择器 | 特异性 | 嵌套深度 | 复杂度 |
|---|
CSS特异性是浏览器决定哪个样式规则优先应用的权重系统。它使用四元组 (a, b, c, d) 表示:
style=""),值为1或0#header).menu、[type]、:hover)div、::before)特异性从左到右逐位比较,高位大的优先级更高。例如 (0,1,0,0) 优先于 (0,0,9,9)。
过高的选择器复杂度会带来以下问题:
建议保持选择器特异性在 (0,0,2,0) 以下,嵌套深度不超过3层。
CSS冗余主要包括以下几种情况:
margin 和 margin-top 可能造成冗余本工具会自动检测完全重复的选择器和属性签名相同的可合并规则,帮助您精简CSS代码。
降低选择器特异性的实用技巧:
!important(它相当于最高特异性):where() 伪类包裹选择器可将其特异性降为0优秀的CSS架构(如ITCSS、BEM)天然能保持低特异性。
*:特异性为 (0,0,0,0),不贡献任何权重:not() 伪类:本身计为类级别,但其内部的选择器也会被计算:is() 伪类:取参数中特异性最高的值:where() 伪类:特异性始终为 (0,0,0,0),非常适合做样式重置:has() 伪类:与 :is() 类似,取参数中最高特异性::before:计为元素级别 (0,0,0,1)注意区分单冒号伪类(:hover)和双冒号伪元素(::before)。
BEM(Block Element Modifier)通过约定命名来避免深层嵌套:
.card.card__title(使用双下划线).card--featured(使用双连字符)使用BEM后,选择器通常是单一的类选择器,特异性保持在 (0,0,1,0),极大降低了复杂度和维护成本。
这也是为什么现代CSS架构推荐BEM、CSS Modules或Tailwind等方案的原因。
提供 HTML 和 CSS,分析哪些选择器在当前页面中未被使用,提供清理建议。
编写或配置基础的CSS渐变、径向、锥形图案组合,生成美观的无缝重复背景代码。
演示新的 CSS @scope 规则如何限定样式作用范围,对比传统 BEM 和 CSS Modules。
粘贴SVG代码,移除无用命名空间、注释与默认属性,减小文件体积,提升加载速度。
可视化选择设备类型、屏幕方向和宽度范围,一键生成标准CSS媒体查询代码。
拖拽设计包含 Subgrid 的嵌套网格,直观展示子网格如何继承父网格轨道并进行独立调整,生成代码。
在页面移动鼠标时显示十字参考线和像素距离,方便UI开发。
设置限制行数,生成带“更多”按钮的纯CSS或轻JS截断方案。
选择页眉、侧边栏、主体、页脚的网格布局,生成基本的布局骨架代码。
提供JSON Schema定义,自动生成符合约束的示例JSON数据,用于接口文档说明。
粘贴 JSON 数组,自动生成带搜索、排序和分页功能的数据表格组件。
将HTML表格转换为移动端友好的折叠行显示模式,并生成相应CSS。
使用html2canvas截取当前网页的完整内容(需粘贴HTML或演示),生成长图并下载。
在字符网格上通过工具绘制猫、超人等各种图案,导出为.txt ASCII艺术。
动画展示调用栈、宏任务和微任务的执行顺序,帮助理解JS异步机制。
按类型筛选状态码,点击查看详细描述与常见使用场景,开发调试速查手册。
粘贴JSON-LD,校验其是否符合Schema.org语法并预览可能触发的丰富结果类型。
通过控件调整网格轨道、间距和对齐,实时展示效果及对应CSS代码,轻松掌握Grid。
生成用于网页游戏或展示的动态血量/进度条样式代码,支持渐变和闪烁。
直接编写SVG代码并实时预览,或通过基本形状工具绘制矩形、圆形、路径,适合动态图形调试。
输入网址,通过多个公有镜像请求检测目标站点可用性,并显示各节点状态码。
输入URL或使用当前页,自动滚动并拼接为一张完整的长图。
粘贴 GraphQL 查询和 Schema(或模拟类型权重),计算请求的代价分,辅助限流策略。
输入宽高、背景色和文字,生成对应尺寸的占位图片,适用于原型设计和文档填充。
选择基本形状(六边形、菱形等)和配色,无缝拼接生成SVG几何背景图案。
生成漂亮几何图案或文字占位图,指定尺寸,下载用于原型。
为应用的空白页(如无订单、无消息)生成带插画和文案的HTML/CSS占位组件。
在可缩放网格上逐点绘制像素艺术,支持调色板、橡皮擦和导出PNG。
通过多层 text-shadow 叠加生成具有厚度和光照感的 3D 文字效果。
通过滑块和开关调整 Flex 容器和子项的所有 CSS 属性,实时观察布局变化,理解弹性盒子。