新闻中心
css中有哪些命名规范
BEM命名规范通过块、元素、修饰符结构提升代码可维护性,如.card__button--primary;SMACSS将样式分为基础、布局、模块等类,推荐l-、is-前缀;OOCSS倡导结构与皮肤分离,实现样式复用;推荐使用kebab-case命名,避免视觉描述,保持团队一致,BEM与kebab-case为最常用组合。

CSS中的命名规范主要是为了提升代码的可读性、可维护性和团队协作效率。虽然CSS本身不限制类名写法,但开发者在实践中总结出了一些主流命名规范,以下是几种常见的CSS命名方式。
1. BEM(Block Element Modifier)
BEM 是最流行的 CSS 命名方法之一,强调组件化结构,通过命名表达元素之间的关系。
命名格式:
- Block(块):独立的功能模块,如
header、menu - Element(元素):属于某个块的子元素,格式为
block__element,如menu__item - Modifier(修饰符):表示状态或变体,格式为
block--modifier或block__element--modifier,如menu--vertical、button__text--large
例如:
.card { }
.card__title { }
.card__button { }
.card__button--primary { }
.card--featured { }
2. SMACSS(Scalable and Modular Architecture for CSS)
SMACSS 提倡将样式分为五类,并建议使用语义化、层级清晰的命名方式。
分类包括:
- Base:基础元素样式,如
body、h1 - Layout:布局容器,如
header、sidebar,可加前缀l-或layout- - Module(组件):可复用模块,如
btn、carousel - State:描述状态,常用
is-前缀,如is-active、is-hidden - Theme:主题相关(较少用)
示例:
多多校园网络店铺
v3.3增加是否允许用户注册选项,重些登陆验证代码,取消SessionTimeout设置,改成前后台登陆验证设置,重写短消息单元,所有短信功能在个页面完成,更改相关短信连接和图片设置,美化相关小图片,修正若干个小问题,全新界面正装上市丰富用户字段,重命名相关文件,以方便使用管理,适合开发规范,重写修改密码,修改资料,店铺标志上传,店铺公告,店铺连接代码,店铺资料修改,商品发布、修改、删除功能,二手
0
查看详情
.l-container { }
.btn { }
.btn.is-active { }
.menu.is-open { }
3. OOCSS(Object-Oriented CSS)
面向对象的 CSS 强调“结构与皮肤分离”和“容器与内容分离”,鼓励重用样式对象。
命名更偏向功能性和可组合,比如:
.media { } /* 结构对象 */
.media__img { }
.media__body { }
<p>.btn { } /<em> 可复用按钮 </em>/
.btn-primary { } /<e
m> 皮肤样式 </em>/
.btn-large { } /<em> 大小样式 </em>/
通过组合多个类实现不同效果:<button class="btn btn-primary btn-large"></button>
4. 常见命名风格(语法层面)
除了架构类规范,命名时也常遵循以下书写风格:
- kebab-case(短横线分隔):如
main-n*igation、user-profile—— 最常见于 HTML/CSS 中,推荐使用 - camelCase(驼峰命名):如
userProfile—— 更多用于 J*aScript,CSS 中不推荐 - snake_case(下划线):如
main_menu—— 较少用于 CSS,某些预处理器中可能出现 - PascalCase(大驼峰):如
UserCard—— 通常用于 React 组件类名,CSS 中少见
5. 实用建议
- 使用语义化名称,避免
red、left等视觉描述,而用error、sidebar - 避免过深嵌套和过于具体的选择器
- 使用前缀区分作用,如
js-用于 J*aScript 钩子(js-toggle-menu),防止样式与行为混淆 - 保持一致性,团队内统一命名规则
基本上就这些。选择哪种规范取决于项目规模和团队习惯,BEM 和 kebab-case 是目前最广泛采用的组合。不复杂但容易忽略的是坚持执行。
以上就是css中有哪些命名规范的详细内容,更多请关注其它相关文章!
# 重写
# 徐汇区网站建设总结
# 陕西短视频seo优化技术
# 营销与推广分析报告范文
# 鹤壁全网整合营销推广
# 年度营销推广策划
# 株洲欧美网站建设
# 网络推广营销是干啥
# 蚁群seo快排
# 隆德农产品网站建设
# 营销推广视频入口
# 不均匀
# 的是
# 格式为
# 选择器
# css
# 推荐使用
# 复用
# 面向对象
# 中不
# 中有
# red
# ai
# mac
# 处理器
# js
# html
# java
# javascript
# react
相关栏目:
【
科技资讯46185 】
【
网络学院92790 】
相关推荐:
Composer的 archive 命令怎么用_快速打包你的PHP项目及其Composer依赖
黑鲨3Pro怎样在相册开漫画风滤镜_iPhone黑鲨3Pro相册开漫画风滤镜【趣味滤镜】
将JSON对象数组转置为键值对列表的实用指南
怎么去除衣服上的口红印_生活小妙招教你用酒精轻松擦除
星露谷物语官网入口 星露谷物语游戏官网入口
C++如何打印当前代码行号与文件名_C++预定义宏FILE与LINE的使用
qq游戏跨平台入口_qq游戏多设备同步登录
NVIDIA股价11月重挫12%:下月有望好转 但难回5万亿美元巅峰
漫蛙网页登录入口 漫蛙漫画官方授权网址
C++如何连接MySQL数据库_C++使用Connector/C++操作MySQL数据库教程
移动端XML文件怎么转换成Excel 手机和平板上的解决方案
QQ邮箱登录平台入口 QQ邮箱网页版邮箱官方入口
纯CSS与HTML网格布局的HTML精简策略:SVG与JS方案解析
使用 Pandas 高效处理 .dat 文件:字符清理与数据计算
JUnit5/Mockito:优雅测试内部依赖与异常处理的实践
Golang如何优化内存分配与垃圾回收_Golang内存管理与GC优化实践
海棠账号登录入口_登录海棠账户同步阅读记录
J*aScript:在map操作中高效处理空数组
格力空气能E5故障代码是什么情况_格力空气能E5代码解析与应对措施
J*a 递归快速排序中静态变量的状态管理与陷阱
抖音网页版快捷访问 抖音网页版网页版入口操作教程
解决 MongoDB 聚合查询中对象数组 _id 匹配问题
黑猫投诉统一入口官网 消费者权益保护投诉平台
J*aScript中向JSON对象添加新属性的正确姿势
汽车之家官方网站官网入口_汽车之家网页版直接进入
押井守高度称赞《辐射4》:玩了八年都停不下来!
J*a编写用户注册与登录功能_掌握字符串与验证逻辑
Win11怎么开启省电模式_Win11电池节电模式自动开启
Go语言中对Map值调用带指针接收者方法:原理与最佳实践
《马克思佩恩3》早期版本曝光 UI设计曾多次调整!
Node.js 中使用 node-cron 实现定时 API 数据抓取与处理
J*aScript Promise链中如何正确终止后续.then执行并处理错误
J*aScript数组对象转换:按指定键分组与值收集
解决Tabulator日期时间排序问题的专业指南
LINUX的I/O重定向是什么_深入理解LINUX中 >、>> 与 < 的区别
《刺客信条:影》PS5 Pro和Switch 2画面对比
必由学官网快捷入口 必由学网页版在线学习平台
必由学官方登录入口 必由学教师学生账号快速访问
漫蛙官网正版漫画入口 漫蛙2官方网页登录地址
Go语言中高效处理x-www-form-urlencoded表单数据
地铁跑酷免费秒玩入口链接 地铁跑酷小游戏免费秒玩网站
Python大型XML文件高效流式解析教程
整合Supabase认证与Django模型:跨模式迁移的解决方案
sublime如何优雅地处理行尾空格_sublime自动清理多余空白字符配置
J*aScript设计模式实践_j*ascript代码优化
Golang如何测试channel通信行为_Golang channel通信测试与分析方法
Odoo 16:在表单视图中基于当前记录动态修改Tree视图属性
Pyrogram与g4f集成:异步编程实践与常见错误解决
如何高效处理PHP中的Excel数据导入导出?PortPHP/Spreadsheet助你轻松搞定!
AO3官方可用镜像 Archive of Our Own网页版最新入口


2025-11-29
浏览次数:次
返回列表
m> 皮肤样式 </em>/
.btn-large { } /<em> 大小样式 </em>/