前端菜鸟一般不知道css可以这样命名

本文探讨了团队开发中CSS命名冲突的问题,介绍了BEM命名规范,如何通过块(block)、元素(element)和修饰符(modifier)降低冲突,并通过实例展示了BEM的优势,包括清晰的结构逻辑、减少层级查找和提升代码可读性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

遇到问题

团队开发中css的命名冲突

为css的命名而绞尽脑汁

css的命名五花八门

解决方案

使用规范:BEM

BEM是一种CSS命名规范。

BEM代表 “块(block),元素(element),修饰符(modifier)”]

eg:

.list__item_active{}

__ 双下划线:双下划线用来连接块和块的子元素

_ 单下划线:单下划线用来描述一个块或者块的子元素的一种状态

实例对比

//通常我写法

<ul class="box">

     <li class="item active">光明之子</li>

     <li class="item">冥王之子</li>

</ul>

.box{}

.box .item{}

.box .item.active{}

================================

================================

//BEM写法

<ul class="box">  

       <li class="box__item_active">光明之子</li>

       <li class="box__item">冥王之子</li>

</ul>

.box{}

.box__item{}

.box__item_active{}

总结

1.命名冲突

因为子元素不是单独的一个命名,而是包含了他的父级元素,这样命名冲突就降低了很多

【就像我们读书的时候:一个学校加"李伟"的人有多个,但是如果没有前缀修饰,就不知道是哪个"李伟",但是如果加上班级,一班的李伟和二班的李伟,这样就很好的解决了冲突】

2.命名有了规范,开发人员命名起来就简单一些

【就像我们要写年终总结,给你模板和不给你模板,两个一对比就很明显了】

3.结构逻辑,易于阅读

有了规范,我们直接看类名是不是就能知道元素的

4.css查找层级明显减少

【之前可能需要四五级的查找,现在直接一个类名就可以,是不是提升了css解析的效率】

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值