CSS 废弃属性分类总结

本文整理了CSS中已废弃或不推荐的属性,分为完全废弃、部分废弃、浏览器前缀废弃及即将废弃属性,并提供了替代方案。


完全废弃属性 :如HTML的<font>alignbgcolor等,应使用CSS的font-familytext-alignbackground-color替代。
2. 部分废弃属性 :如带前缀的border-radiusbox-shadow,建议使用标准属性;clipclip-path取代。
3. 浏览器前缀属性 :如-moz-border-radius,现代浏览器已支持标准语法,无需前缀。
4. 即将废弃属性 :如grid-column-gap改为gap,Flexbox中的justify-self可能废弃。


建议

  • 新项目避免使用废弃属性,旧项目逐步迁移;
  • 使用工具如Stylelint检测代码,确保兼容性与可维护性。
  • 遵循CSS标准演进,采用渐进增强策略。

CSS已废弃属性分类总结

下面通过表格整理CSS中已被废弃或即将废弃的属性,这些属性不应该在新项目中使用,并提供了替代方案。


一、已完全废弃的属性(不推荐使用)

这些属性已被现代CSS标准废弃,浏览器可能不再支持或支持有限。

废弃属性 替代方案 废弃原因/说明
<font>相关属性 已由字体相关CSS属性替代
font-face @font-face规则 语法和功能已完全改变
font-family (元素属性) CSS font-family属性 使用CSS而不是HTML属性
font-size (元素属性) CSS font-size属性 使用CSS而不是HTML属性
font-color color属性 从未成为标准属性
布局与显示
align (HTML属性) CSS text-alignvertical-align 使用CSS进行对齐控制
valign (HTML属性) CSS vertical-align 表格单元格垂直对齐
center元素 CSS text-align: center 语义化不足,使用CSS替代
big元素 CSS font-size调整 语义化不足
strike元素 CSS text-decoration: line-through 语义化不足
u元素(无语义使用) CSS text-decoration: underline 仅当有语义时使用
背景相关
bgcolor (HTML属性) CSS background-color 使用CSS而不是HTML属性
background (HTML属性) CSS background属性 使用CSS而不是HTML属性
text (HTML属性) CSS color属性 使用CSS而不是HTML属性
link, vlink, alink CSS :link, :visited, :active 使用CSS伪类
其他HTML属性
width, height (在表格等元素上) CSS width, height属性 使用CSS进行尺寸控制
border (HTML属性) CSS border属性 使用CSS而不是HTML属性
cellpadding, cellspacing CSS padding, border-spacing 表格样式控制

二、部分废弃/不推荐的CSS属性

这些属性虽然可能还有浏览器支持,但已被新标准替代或不推荐使用。

废弃/不推荐属性 替代方案 状态与说明
文本与字体
text-shadow (早期非标准) 标准text-shadow 早期浏览器前缀版本已废弃
font-weight: lighter/bolder 具体数值(100-900) 相对值不如数值精确
背景与边框
border-radius (带前缀) 标准border-radius 现代浏览器已无需前缀
box-shadow (带前缀) 标准box-shadow 现代浏览器已无需前缀
background-size (带前缀) 标准background-size 现代浏览器已无需前缀
布局与定位
clip clip-path clip功能有限且已从标准移除
zoom transform: scale() 非标准属性,兼容性差
marquee-direction CSS动画或JS实现 早期跑马灯效果属性
列表与表格
list-style-image (URL内联) 使用CSS url()函数 语法更新
打印相关
page-break-* break-*属性 新标准属性
page-break-before break-before
page-break-after break-after
page-break-inside break-inside
其他
ime-mode 无直接替代 控制输入法编辑器,因安全原因废弃
blink (值或元素) CSS动画 可用性差,分散注意力

三、特定浏览器前缀的废弃属性

这些属性曾用于特定浏览器,现已不必要或不推荐。

前缀属性 标准属性 适用浏览器 状态
-moz-border-radius border-radius Firefox 已废弃,使用标准属性
-webkit-border-radius border-radius Chrome, Safari 已废弃,使用标准属性
-ms-border-radius border-radius IE 已废弃,使用标准属性
-o-border-radius border-radius Opera 已废弃,使用标准属性
-moz-box-shadow box-shadow Firefox 已废弃,使用标准属性
-webkit-box-shadow box-shadow Chrome, Safari 已废弃,使用标准属性
-webkit-gradient() linear-gradient(), radial-gradient() Chrome, Safari 旧语法已废弃

四、即将废弃/处于废弃过程的属性

属性 替代方案 当前状态
grid-column-gap, grid-row-gap gap, row-gap, column-gap 已重命名,原属性仍支持
justify-self, justify-items (在Flexbox中) Flexbox自有对齐属性 Flexbox中可能废弃
overflow-scrolling 标准滚动行为 仅iOS Safari需要,可能废弃

五、已废弃的CSS值

有些属性本身仍有效,但某些特定值已废弃。

属性 废弃值 替代值 说明
display box, inline-box flex, inline-flex 旧Flexbox语法
font caption, icon, menu, message-box, small-caption, status-bar 具体字体设置 系统字体关键字,不推荐
cursor hand pointer 标准化指针光标
text-align <string> 其他对齐方式 对齐到特定字符的功能已移除
background scroll (默认值) 显式指定background-attachment 默认值无需指定

六、最佳实践与迁移建议

情况 建议 示例
旧项目维护 逐步替换废弃属性 bgcolor改为CSS background-color
新项目开发 完全不使用废弃属性 使用Flexbox/Grid而非表格布局
浏览器兼容 使用现代CSS并提供回退 对旧IE使用条件注释或polyfill
代码检查 使用CSS Lint或Stylelint 配置规则检测废弃属性

七、检测工具推荐

工具 用途 链接
Stylelint CSS代码质量检查 stylelint.io
CSS Lint CSS错误检测 github.com/CSSLint/csslint
Can I Use 属性兼容性查询 caniuse.com
MDN 官方文档与状态 developer.mozilla.org

总结

  1. 分离内容与样式:避免使用HTML样式属性,改用CSS

  2. 使用标准属性:避免浏览器前缀,除非必要

  3. 渐进增强:从简单样式开始,逐步增加高级特性

  4. 持续学习:CSS标准持续演进,关注新属性和废弃通知


通过避免使用已废弃属性,可以确保代码的长期可维护性、更好的性能以及更广泛的浏览器兼容性。

相关推荐
青莲84315 小时前
Android 事件分发机制 - 事件流向详解
android·前端·面试
musashi15 小时前
用 Electron 写了一个 macOS 版本的 wallpaper(附源码、下载地址)
前端·vue.js·electron
满天星辰15 小时前
Typescript之类型总结大全
前端·typescript
JFChen15 小时前
Web 仔用 Node 像 Java 一样写后端服务
前端
XiaoSong16 小时前
React useState 原理和异步更新
前端·react.js
徐徐子16 小时前
从vue3 watch开始理解Vue的响应式原理
前端·vue.js
眯眼因为很困啦16 小时前
GitHub Fork 协作完整流程
前端·git·前端工程化
whisper16 小时前
🚀 React Router 7 + Vercel 部署全指南
前端
还债大湿兄16 小时前
huggingface.co 下载有些要给权限的模型 小记录
开发语言·前端·javascript