๊ฐ๊ธฐ ๋ค๋ฅธ ๋ฐฉ๋ฒ์ผ๋ก ์คํ์ผ์ํธ๊ฐ ์์ฑ๋์ด์์ต๋๋ค. ์คํ์ผ์ํธ ์ผ๊ด์ฑ ์ ์ง๋ฅผ ์ํด CSS ๋ฐฉ๋ฒ๋ก ๋์ ์ ๊ณ ๋ คํ์๊ณ , ๊ทธ ์ค BEM์ ์ ํํ์ต๋๋ค. ๊ทธ ์ด์ ๋ ์๋์ ์ผ๋ก ๋ฌ๋ ์ปค๋ธ๊ฐ ์ ์ด ๋น ๋ฅด๊ฒ ๋์ ํ ์ ์๊ณ , ์ปดํฌ๋ํธ ๋จ์์ ๊ฐ๋ฐ๊ณผ ์ ์ด์ธ๋ ค ๋ง์ ์์ ์ปดํฌ๋ํธ๋ฅผ ๊ฐ๋ฐํ๊ณ ์๋ ํ ์ํฉ์ ์ ํฉํ๊ธฐ ๋๋ฌธ์ ๋๋ค.
BEM์ ํ์ํ ํ์์ ์ ํ์ ์ผ๋ก ์ฌ์ฉํฉ๋๋ค. BEM์ ์ฌ์ฉํ ๋ Class, ID ๋ค์ด๋ฐ ๊ท์น์ ์ ์ฉ๋์ง ์์ต๋๋ค.
BEM ๋ฐฉ๋ฒ๋ก ์ ๋ฐ๋ฆ ๋๋ค. ํด๋์ค ์ด๋ฆ์ ๊ธธ์ด๋ฅผ ์ค์ด๊ธฐ ์ํด Block, Element, Modifier๋ฅผ ํํํ๋ ๋ฐฉ์์ ๊ฐ๋ตํ๊ฒ ๋ณ๊ฒฝํด์ ์ฌ์ฉํฉ๋๋ค.
- ์ปดํฌ๋ํธ ์ด๋ฆ์ ๋ณดํต PascalCase๋ก ํํํฉ๋๋ค. Block๊ณผ Elemet๋ ์ปดํฌ๋ํธ์ ๋์๋๋ ์์์ด๋ฏ๋ก ๋ง์ฐฌ๊ฐ์ง๋ก PascalCase๋ฅผ ์ฌ์ฉํฉ๋๋ค.
- ์ฝ๋ ์๋ํฐ์์ ํธ๋ฆฌํ ๋ธ๋ญ ์ง์ ์ ์ํด Element๋ ์ธ๋์ค์ฝ์ด(_), Modifier๋ ๋์(-)๋ฅผ ์ ๋์ด๋ก ์ฌ์ฉํฉ๋๋ค.
PascalCase๋ฅผ ์ฌ์ฉํ์ฌ ํํํฉ๋๋ค.
<div class="Card">...</div>
์ธ๋์ค์ฝ์ด(_)์ PascalCase๋ฅผ ์ฌ์ฉํ์ฌ ํํํฉ๋๋ค.
<div class="Card">
<h2 class="Card_Title">...</h2>
</div>
๋์(-)์ camelCase๋ฅผ ์ฌ์ฉํ์ฌ ํํํฉ๋๋ค.
<div class="Card Card-disabled">
<h2 class="Card_Title">...</h2>
</div>