Skip to content

BEM_策略

BEM(Block Element Modifier),一种 css 命名规范,一般协作.block__element--modifier

说明:

  • B(block):独立的页面及逻辑单元。b-name
  • E(element):块中的组成部分,不能脱离存在,一般为元素的功能单词或元素标签。__element
  • M(modifier):修饰符,一般为某个元素的样式或处于的一种状态。--modifier
html
<!-- 示例 -->
<div class="b-popup-modal">
  <div class="b-popup-modal__content">
    <div class="b-popup-modal__header">
      <span class="b-popup-modal__title">标题</span>
      <button class="b-popup-modal__close b-popup-modal__close--default">
        X
      </button>
    </div>
    <div class="b-popup-modal__body"></div>
    <div class="b-popup-modal__footer"></div>
  </div>
</div>

通用类名

分类命名

使用单个字母加上"-"为前缀

  • 布局(grid)(.g-)
  • 模块(module)(.m-)
  • 元件(unit)(.u-)
  • 功能(function)(.f-)
  • 皮肤(skin)(.s-)
  • 状态(.z-)

1.布局(.g-)

语义命名简写语义命名简写
文档docdoc头部headhd
主体bodybd尾部footft
主栏mainmn主栏子容器maincmnc
侧栏sidesd侧栏子容器sidecsdc
盒容器wrap/boxwrap/box

2.模块(.m-)、原件(.u-)

语义命名简写语义命名简写
导航navnav子导航subnavsnav
面包屑crumbcrm菜单menumenu
选项卡tabtab标题区head/titlehd/tt
内容区body/contentbd/ct列表listlst
表格tabletb表单formfm
热点hothot排行toptop
登录loginlog标志logologo
广告advertisead搜索searchsch
幻灯slidesld提示tipstips
帮助helphelp新闻newsnews
下载downloaddld注册registreg
投票votevote版权copyrightcprt
结果resultrst标题titlett
按钮buttonbtn输入inputipt

3.功能(.f-)

语义命名简写语义命名简写
浮动清除clearbothcb向左浮动floatleftfl
向右浮动floatrightfr内联块级inlineblockib
文本居中textaligncentertac文本居左textalignlefttal
文本居右textalignrighttar垂直居中verticalalignmiddlevam
一出隐藏overflowhiddenoh完全消失displaynonedn
字体大小fontsizefs字体粗细fontweightfw

4.皮肤(.s-)

语义命名简写语义命名简写
字体颜色fontcolorfc背景颜色backgroundcolorbgc
背景backgroundbg背景图片backgroundimagebgi
边框颜色bordercolorbdc背景定位backgroundpositionbgp

5.状态(.z-)

语义命名简写语义命名简写
选中selectedsel当前currentcrt
显示showshow隐藏hidehide
打开openopen关闭closeclose
出错errorerr不可用disableddis

Released under the MIT License.