-
BEM๋ฐฉ๋ฒ๋กand so on 2023. 11. 13. 12:09
๐คทโโ๏ธ BEM๋ฐฉ๋ฒ๋ก ์ด๋ ?
CSS ์ ์ ๋ฐฉ๋ฒ๋ก ์ผ๋ก, ์ผ์ข ์ ๋ค์ด๋ฐ ์ปจ๋ฒค์ ์ด๋ผ๊ณ ๋ณผ ์ ์๋ค
๐ BEM์ ๊ธฐ๋ณธ๊ตฌ์กฐ
Block Element Modifier โ ์ด ์ธ๊ฐ์ง๋ก ๊ตฌ์ฑ๋ ์ด๋ฆ์ ์ง๋๊ฒ์!!
๊ฐ๊ฐ __์ โ์ผ๋ก ๊ตฌ๋ถํ๋ค<div class="header__navigation--input"></div>
header์ Block
navigation์ Element
input์ Modifier
BEM์ ๊ธฐ๋ณธ์ ์ผ๋ก ID๋ฅผ ์ฌ์ฉํ์ง ์์ผ๋ฉฐ class๋ง์ ์ฌ์ฉํจ
์ด๋ป๊ฒ ๋ณด์ด๋๊ฐ๊ฐ ์๋โ ์ด๋ค ๋ชฉ์ ์ธ๊ฐ์ ๋ฐ๋ผ ์ด๋ฆ์ ์ง๋๐ Block
์ฌ์ฌ์ฉ ๊ฐ๋ฅํ ๋ ๋ฆฝ์ ๋ธ๋ก์ผ๋ก ๊ฐ์ฅ ๋ฐ๊นฅ์ชฝ ์์์์
=> ์ด๋์ ์ข ์๋์ง ์์์ ํค๋์ ์ฐ์ผ ์๋ ์๊ณ , ํธํฐ์ ์ฐ์ผ ์๋ ์๊ณ , ์ฌ๊ธฐ์ ๊ธฐ ๋ถ์๋ค ๋ผ์๋ค ํ ์ ์๋ค- Block ์ด๋ฆ์ ์์์ด๋ ํฌ๊ธฐ ๋ฑ์ ๋ฌ์ฌํ๋ ์ด๋ฆ์ด ์๋๋ผ ๊ตฌ์กฐ์ ์ผ๋ก ์๋ฏธ ์๋ ์ด๋ฆ์ ์ฌ์ฉํ๋ค
- ๋ธ๋ญ์ ๋ธ๋ญ์ ๊ฐ์ ์ ์๋ค .header>.logo</span> =>header๋ผ๋ ๋ธ๋ญ ์์ logo๋ผ๋ ๋ธ๋ญ์ด ๋ค์ด๊ฐ ํํ์
๐ Element
๋ธ๋ก ๋ด๋ถ์ ์ข ์๋์ด ์ค์ ๊ธฐ๋ฅ์ ๋ด๋นํ๋ ๋ถ๋ถ
=> ์์ ์ด ์ํ ๋ธ๋ญ ๋ด์์๋ง ์๋ฏธ๋ฅผ ๊ฐ์ง๊ธฐ ๋๋ฌธ์ ๋ธ๋ญ์์์ ๋ผ์ด๋ค๊ฐ ๋ค๋ฅธ๋ฐ์ ์ธ ์์๋ค.
Block๊ณผ Element์ ์ด๋ฆ ์ฌ์ด๋ __๋ก ๊ตฌ๋ถ์ง๋๋ค<header class="search"> <div class="search__content"> <input class="search__input"/> <button class="search__button">Search</button> </div> </header>
์๋ฆฌ๋จผํธ ๋ํ ์ค์ฒฉ์ด ๊ฐ๋ฅํจ
.search์ ๋ธ๋ญ์ด๊ณ , .search__content,input, button์ ์๋ฆฌ๋จผํธ์
=> ๋ค ๋๊ฐ์ด `.block`์ ์๋ฆฌ๋จผํธ๋ก ์ทจ๊ธํ๋ค!
โ ๊ทธ๋์ ํด๋์ค๋ค์์ ์บ์ค์ผ์ด๋ฉ์ ์ฌ๋ฌ๋ฒ ํ์ํ ํ์๊ฐ ์์.
โ BEM ๋ฐฉ์์ ์ฐ์ง ์์ผ๋ฉด<header class="search"> <div class="search__content"> <input class="search__content__input"/> <button class="search__content__button">Search</button> </div> </header>
=> ํด๋์ค๋ค์์ ์บ์ค์ผ์ด๋ฉ์ ์ฌ๋ฌ๋ฒ ํ์ํด์ฃผ์ด์ผ ํจ
๐ ModifierBlock์ด๋ Element์ ์์ฑ์ ๋ด๋น
- Modifier๋ --๋ก ๊ตฌ๋ถ์ง๋๋ค
- boolean ํ์ ๊ณผ key-value ํ์ ์ผ๋ก ์ฌ์ฉํ ์ ์๋ค
๐ ๋ถ๋ฆฌ์ธ(boolean) ํ์<div class="tab__item--hidden"></div> <div class="tab__item--visible"></div>
--hidden๊ณผ--visible๊ฐ์ ๋ถ๋ฆฌ์ธํ์ ์ผ๋ก ์ธ์ ์๋ค
๐ ํค-๋ฐธ๋ฅ(key-value) ํ์<form class="form-login form-login--theme-normal"> <strong class="title title--color-pink">
color-pink์ theme-normal๊ฐ key-value(์์ฑ-๋ด์ฉ) ํ์ ์ด๋ค
์ ๋ฆฌ
๐ BEM์ ์ฅ๋จ์ ๐
์ฅ์ - ์ง๊ด์ ์ธ ํด๋์ค ๋ช ์ผ๋ก ๋งํฌ์ ๊ตฌ์กฐ๋ฅผ ์ง์ ๋ณด์ง ์์๋ ๊ตฌ์กฐ์ ํ์ ์ด ์ฌ์
- SASS์์ฑ ์, ๋์ด์ง๋ ์
๋ ํ
์ ๋ง์์ค
(=>BEM๋ฐฉ์์ ์ฐ๋ฉด ๋๋๋๋ ์๋ฆฌ๋จผํธ๋ผ์ ๊ตณ์ด ๊น๊ฒ nestedํ ํ์๊ฐ ์์ด์ง!! ํ์ ์๋ฆฌ๋จผํธ๋ก ๋ณด์ง ์๊ณ ๋ ๋ค ๋๊ฐ์ด `.block`์ ์๋ฆฌ๋จผํธ๋ก ์ทจ๊ธํ๊ธฐ ๋๋ฌธ...!)
๋จ์
- ์ด๋ฆ์ด ๊ธธ๊ณ ๋ณต์กํด ์ง์ ์๋ค.
'and so on' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
MariaDB Server์ค์นํ๊ธฐ (4) 2024.06.15 [๋ ธ๋ง๋ ์ฝ๋] ํธ์ํฐ ํด๋ก ์ฝ๋ฉ ๊ณผ์ 1 (0) 2023.12.02 [ํผ๊ทธ๋ง] ํผ๊ทธ๋ง๋ก ์์ด์ฝ ๋ง๋ค๊ธฐ (0) 2023.11.13 ์๋ฉํฑ ํ๊ทธ : ๊ฒ์์์ง ์ ๋์์ง๋ ํ์ด์ง ๋ง๋ค๊ธฐ (0) 2023.11.13