使用连字符分隔
在JavaScript中,使用驼峰式命名法(camel case)定义一个变量:
var redBox = document.getElementById('...')
但这种命名法并不适用于 CSS。
一般使用连字符分隔法定义类名:
.red-box {
border: 1px solid red;
}
这是一种非常标准的 CSS 命名规范,不仅更易读,也和 CSS 属性名称保持了一致:
// Correct
.some-class {
font-weight: 10em
}
// Wrong
.some-class {
fontWeight: 10em
}
BEM 命名规范
BEM代表 “块(block),元素(element),修饰符(modifier)”。
在选择器中,由以下三种符号来表示扩展的关系:
- 中划线 :仅作为连字符使用,表示某个块或者某个子元素的多单词之间的连接记号。
__ 双下划线:双下划线用来连接块及块的子元素
_ 单下划线:单下划线用来描述一个块或者块的子元素的一种状态
BEM写法示例:
.xxx{}
.xxx__item{}
.xxx__item_active{}
.xxx__product-name{}
.xxx__link{}
// 嵌套写法
.xxx__item_current{
.xxx__link{}
}
命名汇总推荐
状态
前一个 prev
后一个 next
当前的 current
显示的 show
隐藏的 hide
打开的 open
关闭的 close
选中的 selected
有效的 active
默认的 default
反转的 toggle
禁用的 disabled
危险的 danger
主要的 primary
成功的 success
提醒的 info
警告的 warning
出错的 error
大型的 lg
小型的 sm
超小的 xs
布局
文档 doc
头部 header(hd)
主体 body
尾部 footer(ft)
主栏 main
侧栏 side
容器 box/container
通用部件
列表 list
列表项 item
表格 table
表单 form
链接 link
标题 caption/heading/title
菜单 menu
集合 group
条 bar
内容 content
结果 result
组件
按钮 button(btn)
字体 icon
下拉菜单 dropdown
工具栏 toolbar
分页 page
缩略图 thumbnail
警告框 alert
进度条 progress
导航条 navbar
导航 nav
子导航 subnav
面包屑 breadcrumb(crumb)
标签 label
徽章 badge
巨幕 jumbotron
面板 panel
洼地 well
标签页 tab
提示框 tooltip
弹出框 popover
轮播图 carousel
手风琴 collapse
定位浮标 affix
语义化小部件
品牌 brand
标志 logo
额外部件 addon
版权 copyright
注册 regist(reg)
登录 login
搜索 search
热点 hot
帮助 help
信息 info
提示 tips
开关 toggle
新闻 news
广告 advertise(ad)
排行 top
下载 download
功能部件
左浮动 fl
右浮动 fr
清浮动 clear
参考:
www.cnblogs.com/qianxiaox/p…
zhuanlan.zhihu.com/p/33506102