CSS命名之姓氏命名法(转)

背景:

由历史原因及个人习惯引起的DOM结构、命名不统一,导致不同成员在维护同一页面时,无从下手,效率低下,迭代、维护成本极高。

命名原则:

1.概述

1.1基于姓氏命名法(继承+外来),如下图:

 

1.2说明:

(1).在子孙模块数量可预测的情况下,继承祖先模块的命名前缀

如:

banner
├── banner_img
└── banner_opition

(2).当子孙模块数量较多,且无法预估时,可以选择采用继承“祖先+父”模块的命名前缀,以保证模块之间的独立性

如:

floor
├── floor_ad
|    |
|    ├── floor_ad_ul
|    └── floor_ad_li
|
├── floor_tag
|    |
|    ├── floor_tag_ul
|    └── floor_tag_li

(3).子模块中,可以嵌套其他模块,可理解为“娶了媳妇、嫁了郎”

如:

hotsales
├── hotsales_li
| |
| └── mod_goods
| |
| ├── mod_goods_price
| └── mod_goods_tit
| └── mod_goods_promo

 

1.2.层级:

页面结构层(以“ic_”开头)

工具条                               ic_toolbar

头部                                   ic_header

主体内容                          ic_content

指引信息|快速入口       ic_footer

版权信息                         ic_subfooter

 

布局层(以“grid_c”开头)

行:

grid_c1(一列)

grid_c2a(两列,侧栏/主要区域)

grid_c2b(两列,主要区域/侧栏)

grid_c3a(三列,侧栏/主要区域/扩展栏)

列:

gird_s(侧栏,定宽)

grid_m(主体区域,自适应宽度)

grid_e(扩展栏,定宽)

 

模块区域

全站公共模块

以”mod_“开头,如:mod_goods

业务公共模块

以”业务名_mod_“开头,如:sy_mod_f

私有模块

任意单个单词或拼音,如:f1、slider

 

案例分析(以首页楼层1为例)

截图示意:

代码分析:

建议

1.减少DOM层级和元素

按照现有结构,为提高渲染效率,建议基于ic_content之后,层级最多不能超过8层

 

2.减少ClassName层级

建议不要超过4级,如:vip_mod_banner_lists

如果层级确实较多,命名可能会较长,可以采用如下方式进行简化:

vip_mod_banner_lists_name -> vip_mod_banner_lname

 

3.减少直接定义标签样式

因浏览器从右向左遍历解析,为提高渲染效率,建议减少定义标签,通过添加class来定义样式,如:vip_mod_banner_lists_li

 

4.避免空class

 

5.禁用通配符

 

原文地址:http://www.ghugo.com/css-name/

转载于:https://www.cnblogs.com/xzhang/articles/4173548.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值