時間:2016-11-04 20:04:53
原文地址:https://github.com/zhongxia245/blog/issues/48css
挺早就據說過BEM了,也大概的知道怎麼用,可是具體 BEM 指啥,具體有啥要求,還不是很清楚,而後今天就學習了下。前端
BEM的意思就是塊(block)、元素(element)、修飾符(modifier),是由Yandex團隊提出的一種前端命名方法論。這種巧妙的命名方法讓你的CSS類對其餘開發者來講更加透明並且更有意義。BEM命名約定更加嚴格,並且包含更多的信息,它們用於一個團隊開發一個耗時的大項目。git
重要的是要注意,我使用的基於BEM的命名方式是通過Nicolas Gallagher修改過的。這篇文章中介紹的這種命名技術並非原始的BEM,但倒是一個我更喜歡的改進版。不管實際使用了什麼樣的符號,它們其實都是基於一樣的BEM原則。github
命名約定的模式以下:segmentfault
.block{} .block__element{} .block--modifier{}
.site-search{} /* 塊 */ .site-search__field{} /* 元素 */ .site-search--full{} /* 修飾符 */
例子:
ide
B:header-tabs //名字隨便
E:header-tabs__item //多個tab選項
M:header-tabs__item--active //選中狀態學習