Thief of Wealth

https://medium.com/witinweb/css-%EB%B0%A9%EB%B2%95%EB%A1%A0-1-bem-block-element-modifier-1c03034e65a1



BEM


이란 웹프로그래밍에서 개발, 디버깅, 유지보수를 위하여, CSS선택자의 이름을 가능한 한 명확하게 작명하는 것이 목표이다.


소문자, 숫자, 하이픈, 언더바 기호만을 사용한다.


3가지 개념을 알고 접근하도록 하자.


- 블록 (Block)

: 재사용할 수 있는 기능적으로 독립적인 페이지 구성요소. HTML에서 블록은 class속성으로 표시된다.

블록은 환경에 영향을 받지 않아야 한다.


ex) header, menu...


- 요소 (Element)

: 블록안에서 특정 기능을 담당하는 부분이다.

block__element 처럼 더블 언더바를 이용해서 붙여준다.


ex) menu__item, header__title


- 수식어 (Modifier)

: 블록이나 요소의 모양(color, size), 상태 (disabled, checked)를 정의한다.

block__element--modifier, block--modifier 형태로 더블 하이픈을 이용하여 사용한다.


수식어는 boolean타입 (form__button--disabled)

key-value타입 (form--color-red) 

하이픈 1개로 표현


이렇게 BEM을 사용하면, 클래스명은 복잡해 질 수 있어도, 나중에 클래스명만 보더라도 이게 어떤 용도이고, 어떤 형태일지 그릴 수 있다는 장점이 있다.

그리고 BEM은 클래스명이 길게 이어지다 보니, 바로 css로 작성하는 것보다, sass나 less를 이용하는것이 효율적이다.


'개발 > Web Programming' 카테고리의 다른 글

Chromium원정대  (0) 2019.10.08
ESlint 설정  (0) 2019.10.04
Pug 쓸때 TIP  (0) 2019.10.02
FontAwesome 무로 CDN 링크 !  (0) 2019.10.02
express view engine바꾸기  (0) 2019.10.02
profile on loading

Loading...