CSS Naming Conventions BEM
2020. 1. 7. 19:38ㆍHTML/CSS
BEM(Block Element Modifier)은 크게 Block으로 영역을 짓고, Element로 지정하며, Modifier로 상태를 표시합니다.
즉, __를 쓰는 경우와 --를 쓰는 경우를 분리한 것인데,
__는 명사와 같은 이름을 사용합니다. (__button, __title, __meun 등)
--는 동사와 같은 상태를 이름으로 사용합니다.(--active, --disabled, --full 등)
예를 들면,
<div class="search">
<button class="search__btn search__btn--active">BUTTON</button>
<button class="search__btn search__btn--disable">BUTTON</button>
</div> 라는 식으로 코드를 작성하는 경우입니다.
공통 요소에 BEM 방식을 적용하는 것은 옳지 않을수도 있습니다.
또, 모든 요소에 BEM 방식을 적용하기에 어려운 점도 많습니다.
header, nav, footer 등 구역을 지칭하는 것들은 보통 일반적인 위치에 존재하기 떄문에 굳이 BEM 방식을 적용하지 않아도 직관적으로 소스파악하는데 어렵지 않기 떄문입니다.
BEM은 하나의 특정역역에 클래스만으로 역역의 형태나 상태를 파악하는데 좀더 직관적이고 좀 더 쉽게 알아보기 위한 도움의 역할로서 사용되는데 의미가 있습니다.
'HTML/CSS' 카테고리의 다른 글
CSS Flex(Flexible Box) 완벽 가이드 (0) | 2020.01.07 |
---|---|
웹표준과 웹접근성 (0) | 2020.01.07 |
div 세로 가운데 중앙 정렬 방법 (0) | 2020.01.07 |
dl/dt/dd의 의미와 정확한 사용예(정의태그) (0) | 2020.01.07 |
가상클래스와 가상요소(::before와::after) (0) | 2020.01.06 |