# className命名
原则上,避免因为className的命名而影响开发效率,className的命名应该尽量简单、清晰、明确、周到,而且尽量避免使用自创缩写(如bg代表background等较为公认的可以使用),全部字母为小写,单词之间统一使用 “-” 连接。
className不仅仅是为了css的样式书写,更重要的作用在于语义化,良好的语义化className有利于后期维护、协助开发者理解HTML的作用。
# 命名原则
- 为保证css的作用域,最顶级的className需要为唯一命名。
<div class="trade-histoty-main">
<div></div>
</div>
- 每一个功能模块的父级(称为祖先模块),进行单独命名,子孙继承该命名。 由于css预处理器的嵌套功能,在命名上推荐以前一个name后缀为子元素前缀。
<div class="trade-histoty-main"> // 最外层为顶级
<div class="orderbook"> // 单独的功能模块
<div class="orderbook-main"> // 继承父级后缀
<div class="main-left"></div> // 继承父级后缀
<div class="computer"> // 功能内部的功能模块
<div class="computer-main"> // 继承父级后缀
<div class="main-left"></div> // 继承父级后缀
</div>
</div>
</div>
</div>
</div>
- 当为最后一级行内元素时,可以不写className(语义化的唯一块级标签也可以不书写)。
<div class="module">
<div class="module-cover">
<span>last</span>
</div>
<div class="module-info"></div>
</div>
- 当为最后一级元素时,但不应用同一个样式或功能特性,需要写className以区分。
<div class="module">
<div class="module-cover"></div>
<span class="cover-left">left</span>
<span class="cover-mid">mid</span>
<span class="cover-right">right</span>
<div class="module-info"></div>
</div>
- 使用html5的语义化标签时,若该标签同级唯一,可不书写className。
<div class="trade-histoty">
<header> // 同级唯一
<div class="header-left">
</div>
</header>
<section class="history"> // 同级不唯一
<div class="history-left">
</div>
</section>
<section class="current"> // 同级不唯一
<header></header> // 同级唯一
<div class="current-left">
</div>
</section>
</div>
className 的命名参考(推荐使用,不强制):
about 关于 account 账户 arrow 箭头图标 article 文章 aside 边栏 audio 音频 avatar 头像 bg,background 背景 bar 栏(工具类) branding 品牌化 crumb,breadcrumbs 面包屑 btn,button 按钮 caption 标题,说明 category 分类 chart 图表 clearfix 清除浮动 close 关闭 col,column 列 comment 评论 community 社区 container 容器 content 内容 copyright 版权 current 当前态,选中态 default 默认 description 描述 details 细节 disabled 不可用 entry 文章,博文 error 错误 even 偶数,常用于多行列表或表格中 fail 失败(提示) feature 专题 fewer 收起 field 用于表单的输入区域 figure 图 filter 筛选 first 第一个,常用于列表中 footer 页脚 forum 论坛 gallery 画廊 group 模块,清除浮动 header 页头 help 帮助 hide 隐藏 hightlight 高亮 home 主页 icon 图标 info,information 信息 last 最后一个,常用于列表中 links 链接 login 登录 logout 退出 logo 标志 main 主体 menu 菜单 meta 作者、更新时间等信息栏,一般位于标题之下 module 模块 more 更多(展开) msg,message 消息 nav,navigation 导航 next 下一页 nub 小块 odd 奇数,常用于多行列表或表格中 off 鼠标离开 on 鼠标移过 output 输出 pagination 分页 pop,popup 弹窗 preview 预览 previous 上一页 primary 主要 progress 进度条 promotion 促销 rcommd,recommendations 推荐 reg,register 注册 save 保存 search 搜索 secondary 次要 section 区块 selected 已选 share 分享 show 显示 sidebar 边栏,侧栏 slide 幻灯片,图片切换 sort 排序 sub 次级的,子级的 submit 提交 subscribe 订阅 subtitle 副标题 success 成功(提示) summary 摘要 tab 标签页 table 表格 txt,text 文本 thumbnail 缩略图 time 时间 tips 提示 title 标题 video 视频 wrap 容器,包,一般用于最外层 wrapper 容器,包,一般用于最外层