CSS属性兼容性表格 - 按使用率排序
搜索CSS属性和选择器,展示在主流浏览器的支持版本和全局使用率百分比。
UD5工具箱
快速查询 CSS 属性在不同浏览器中的支持情况。数据基于 Can I Use 及 MDN 最新兼容性数据整理。
| CSS 属性 | Chrome | Firefox | Safari | Edge | Opera | 📱 iOS Safari | 🤖 Android |
|---|
CSS 兼容性指的是某个 CSS 属性或特性在不同浏览器(Chrome、Firefox、Safari、Edge 等)及其不同版本中的支持程度。由于各浏览器使用不同的渲染引擎(如 Chrome 的 Blink、Firefox 的 Gecko、Safari 的 WebKit),对 CSS 规范的实现进度和方式可能存在差异。
在 Web 开发中,确保 CSS 兼容性至关重要,直接关系到用户在不同设备和浏览器上的体验一致性。忽视兼容性可能导致页面在部分浏览器中布局错乱、样式丢失甚至功能不可用。
建议开发者在项目初期就使用 @supports 进行特性检测,并参考 Can I Use 或本工具速查兼容性数据。
@supports 是 CSS 原生的特性查询规则,可以检测浏览器是否支持某个 CSS 属性或值,从而有条件地应用样式。这是实现渐进增强的核心工具。
基本语法:
@supports (display: grid) {
.container {
display: grid;
grid-template-columns: repeat(3, 1fr);
}
}
@supports not (display: grid) {
.container {
display: flex;
flex-wrap: wrap;
}
}
也可以组合检测多个属性:@supports (display: grid) and (gap: 1rem)。所有现代浏览器均支持 @supports(Chrome 28+、Firefox 22+、Safari 9+、Edge 12+)。
浏览器厂商前缀是浏览器在实验性支持某个 CSS 属性时添加的特定前缀,用于在属性标准化之前进行测试。常见前缀包括:
如今,大多数主流 CSS 属性已经标准化,不再需要手动添加前缀。但对于一些较新的特性(如 backdrop-filter、user-select),在特定场景下仍可能需要 -webkit- 前缀以覆盖旧版 Safari。
推荐使用 Autoprefixer(PostCSS 插件)自动处理前缀,根据 browserslist 配置自动添加所需前缀,避免手动维护。
Flexbox(弹性布局)在现代浏览器中得到了极好的支持(Chrome 29+、Firefox 28+、Safari 9+、Edge 12+)。IE 11 有部分支持(存在一些已知 bug,如 flex-wrap 和 min-height 的组合问题)。如果不需要兼容 IE,Flexbox 可以放心使用。
CSS Grid(网格布局)同样在现代浏览器中得到广泛支持(Chrome 57+、Firefox 52+、Safari 10.1+、Edge 16+)。IE 11 仅支持旧版 Grid 语法(需 -ms- 前缀,功能受限)。Subgrid 特性在 Chrome 117+、Firefox 71+、Safari 16+ 才得到支持。
对于 2024 年的项目,如果目标用户使用现代浏览器,Grid 和 Flexbox 都可以放心使用。建议配合 @supports 做降级处理。
CSS 自定义属性(CSS Variables),使用 --* 声明并通过 var() 调用,在现代浏览器中支持非常好(Chrome 49+、Firefox 31+、Safari 9.1+、Edge 15+)。IE 完全不支持。
CSS 变量支持动态更新、继承、级联,并且可以通过 JavaScript 的 element.style.setProperty() 动态修改,非常适合实现主题切换、动态样式等场景。
:root {
--primary-color: #6366f1;
--spacing-unit: 1rem;
}
.button {
background: var(--primary-color);
padding: var(--spacing-unit);
}
移动端浏览器的 CSS 兼容性整体与桌面端保持同步,但有以下特殊注意点:
渐进增强(Progressive Enhancement):从基础功能出发,确保所有浏览器都能正常访问核心内容,然后为支持新特性的浏览器添加增强体验。策略是"先保证能用,再追求好看"。
优雅降级(Graceful Degradation):先为现代浏览器构建完整的高级体验,然后为旧浏览器提供降级方案,确保基本功能不受影响。
推荐策略:在现代 Web 开发中,渐进增强更为实用。使用 @supports 进行特性检测,为不支持的浏览器提供 fallback 方案。例如:
.card {
/* Fallback: 旧浏览器使用浮动布局 */
float: left;
width: 33.33%;
}
@supports (display: grid) {
.card {
float: none;
width: auto;
}
.card-container {
display: grid;
grid-template-columns: repeat(3, 1fr);
}
}
除了使用本工具进行快速速查外,还可以通过以下途径获取权威的 CSS 兼容性信息:
搜索CSS属性和选择器,展示在主流浏览器的支持版本和全局使用率百分比。
并列播放所有CSS内置缓动函数(ease, linear等)的动画效果,方便对比选择。
编写带有伪类的选择器,实时高亮匹配的HTML元素,探索现代CSS选择器的能力。
列出所有标准 CSS 光标值(pointer, grab, zoom-in 等),鼠标悬停实时查看对应光标样式并复制代码。
模拟显示各个HTML元素在典型浏览器中的默认CSS属性表,辅助CSS Reset决策。
提取HTML中所有内嵌 `<style>` 标签的内容,合并生成单独CSS文件。
选择多张图片或纯色叠加,切换所有CSS混合模式并实时预览图层效果。
通过勾选元素关系(子孙、兄弟)、属性、伪类等条件,自动生成精确的CSS选择器字符串。
选择触发位置、箭头方向与样式,生成轻量悬停提示框代码。
输入文本,滑块调节letter-spacing和word-spacing,实时显示效果并复制CSS。
在浏览器中即时测试for、forEach、map、for-of等循环的执行速度,帮助选择最优写法。
调节宽度、颜色、条纹动画等参数,实时预览并生成进度条HTML/CSS。
在页面上叠加可拖拽的半透明网格线,辅助网格布局对齐。
粘贴HTML和基本CSS,分析渲染后视觉顺序与DOM顺序的差异,避免可访问性问题。
提取HTML中内联style属性或嵌入式style标签,转变为独立CSS规则,辅助样式重构。
设定最小、首选、最大三个尺寸及视口范围,生成响应式CSS clamp()表达式。
快速检测系统是否支持特定的URL Scheme(如mailto:、tel:、tg:)。
通过可视化控件定制滚动条轨道、滑块、按钮等伪元素样式,即时预览并复制生成代码。
粘贴HTML并编写XPath表达式,高亮显示匹配的节点并提取文本。
为内容区域生成灰色闪烁的骨架屏占位代码,包含卡片、标题等组件样式。
粘贴JSON对象,生成可折叠的树形视图,点击节点复制其键值路径,方便调试。
输入嵌套对象和取值路径,测试?.可选链和??空值合并运算的结果,学习JS新特性。
浏览并一键复制常见CSS动画(跳动、淡入、滑动等)的@keyframes代码。
输入 HTML 或网址,提取所有标题标签,生成文档大纲树,检测跳跃和缺失。
勾选或调整所需的重置元素(盒模型、边距等),生成自定义CSS Reset片段,确保跨浏览器一致性。
制作像荧光笔划过的高亮背景或扫描下划线效果,导出类名。
加载Lottie动画JSON文件,播放并控制速度、方向,预览动效效果。
检测浏览器是否支持显示AVIF图片,为前端图片选型提供依据。
为页面上使用CSS Grid的元素显示网格线和名称,辅助布局开发和调试。
拖拽顶点或选择预定义形状,可视生成CSS clip-path多边形、圆形、椭圆等,实时预览并复制代码。