跳至主要內容

前端class命名

白日梦想家yy...大约 5 分钟

转载原文链接:class命名(及前端命名)open in new window

前端class命名

常见class关键词:

  • 布局类:header, footer, container, main, content, aside, page, section
  • 包裹类:wrap, inner
  • 区块类:region, block, box
  • 结构类:hd, bd, ft, top, bottom, left, right, middle, col, row, grid, span
  • 列表类:list, item, field
  • 主次类:primary, secondary, sub, minor
  • 大小类:s, m, l, xl, large, small
  • 状态类:active, current, checked, hover, fail, success, warn, error, on, off
  • 导航类:nav, prev, next, breadcrumb, forward, back, indicator, paging, first, last
  • 交互类:tips, alert, modal, pop, panel, tabs, accordion, slide, scroll, overlay,
  • 星级类:rate, star
  • 分割类:group, seperate, divider
  • 等分类:full, half, third, quarter
  • 表格类:table, tr, td, cell, row
  • 图片类:img, thumbnail, original, album, gallery
  • 语言类:cn, en
  • 论坛类:forum, bbs, topic, post
  • 方向类:up, down, left, right
  • 其他语义类:btn, close, ok, cancel, switch; link, title, info, intro, more, icon; form, label, search, contact, phone, date, email, user; view, loading...
  • 例如:text改为txt、delete改为del,这里针对单个单词组合命名,对词组单词的组合建议不使用缩写或简写
单词缩写说明
bottombtm底部
buttonbtn按钮
backgroundbg背景
contentcont内容
checkchk选择框
currentcurr当前的
deletedel删除
texttxt文本
disableddis禁用
footft底部
headhd头部
hiddenhide隐藏
inputinpinput框
imageimg图片
indexidx索引
messagemsg消息
passwordpwd密码
previousprev前面的、上一面
radiorad单选
registerreg注册
selectsel选择
tbodytbd表格主体
theadthd表格头部
tfoottft表格底部
wrapwp包装,外层

块(Block)的命名规范

  1. 块的名称是唯一的
  2. 块的名称和块的功能一致
  3. 如:菜单应该命名为menu
  4. 块只能用Class选择器,不能用ID选择器,因为同一个块可能出现在页面的多个地方
  5. 块的内部是可以在包含多个子块的
  6. 块名称用小写命名
类型块名类型块名
顶部topbar登录login
快速导航quickmenu菜单menu
导航nav搜索框searchbox
关键字keywords左边栏leftside
右边栏rightside内容content
左、右菜单left/rightmenu服务链接servicelink
服务service底栏footerbar
版权copyright注册register
新闻new新闻列表news
列表项item列表集合lists

元素(Element)的命名规范

  1. 元素的命名使用块名+元素名的组合方式,之间以中划线(-)隔开。
  2. 如:块名-元素名
  3. 元素的命名只能用于Class选择器
  4. 如:菜单项的元素命名为menu-item
  5. 使用小写命名
类型元素名类型元素名
元素项-item元素头部-hd
元素标题-title元素内容-cont
元素底部-btm元素顶部-top
元素中部-middle元素右则-right
元素左则-left

制定简单规则:

  • 以中划线连接,如.item-img
  • 使用两个中划线表示特殊化,如.item-img.item-img--small表示在.item-img的基础上特殊化
  • 状态类直接使用单词,参考上面的关键词,如.active, .checked
  • 图标以icon-为前缀(字体图标采用.icon-font.i-name方式命名)。
  • 模块采用关键词命名,如.slide, .modal, .tips, .tabs,特殊化采用上面两个中划线表示,如.imgslide--full, .modal--pay, .tips--up, .tabs--simple
  • js操作的类统一加上js-前缀
  • 不要超过四个class组合使用,如.a.b.c.d

修饰关键词

  • 以header为例,我们可以添加前缀表示不同的header,如区块头部.block-hd(hd为header简写),modal头部.modal-hd,文章头部.article-hd

  • 同样标题也可以分为,页面标题.page-tt(title的简写),区块标题.block-tt

  • 样式修饰符:块或元素命名加上样式修饰符,之间用中划线(-)隔开

    例:块或元素-样式修饰符

  • 样式修饰符的命名只能用于Class选择器

  • 使用小写命名

如:某个按钮的宽度加宽,则该按钮的样式修饰符名为long,全名就为:ui-btn-long

类型修饰符名类型修饰符名
无上边框nobt无右边框nobr
无下边框nobb无左边框nobl
无上(内)边框nopt无右(内)边框nopr
无下(内)边框nopb无左(内)边框nopl
无上(内)外框nomt无右(内)外框nomr
无下(内)外框nomb无左(内)外框noml
(内)上边框pt-10(像素)(内)右边框pr-10(像素)
(内)下边框pb-10(像素)(内)左边框pb-10(像素)
(外)上边框mt-10(像素)(外)右边框mr-10(像素)
(外)下边框mb-10(像素)(外)左边框mb-10(像素)
字体颜色fc-red(颜色)字体类型fm-arial(类型)
字体大小fs-12(大小)背景颜色bg-red(颜色)
字体加粗fw-bold正常字体fw-normal
文字下划线txt-underline文字中划线txt-through
文字居左txt-l文字居右txt-r
文字垂直居上txt-t文字垂直居下txt-b
文字居中txt-c文字垂直居中txt-m
绝对定位pos-abs相对定位pos-rel
宽度w-10(像素)高度h-10(像素)
行高lh-12(像素)文本缩进txt-in
边框宽度bw-2(像素)上边框宽度btw-2(像素)
下边框宽度bbw-2(像素)左边框宽度blw-2(像素)
右边框宽度brw-2(像素)
减短-short加长-long
变大-big缩小-small
向上-up向下-down
向左-left向右-right
向前,上一个-prev向后,下一个-next
低级level-low中级level-middle
高级level-high

行为修饰符

  • 块名或元素名加上行为修饰符,之间用中划线(-)隔开。
  • 块或元素名-行为修饰符
  • 行为修饰符的命名只能用Class选择器
  • 使用小写命名

如:修饰按钮在鼠标经过的事件,鼠标经过行为修饰符用-hover,所以全名为:ui-btn-hover

类型修饰符名类型修饰符名
鼠标经过-hover获取焦点-focus
失去焦点-blur鼠标按下-mousedown
键盘按下-keydown鼠标拖动-drag
不可用、禁用、只读-disabled可用、启用-enabled
选中(下拉框)-selected选中(选择框)-checked
成功-success失败-fail
错误-err警告-warning
当前状态-current显示-show
隐藏-hide添加-add
删除-del编辑-edit
阅读、视图-view返回-back
通过-pass
上次编辑于:
贡献者: mygit