๐ซ OOCSS(Object Oriented CSS)
๋๊ฐ์ด ์๊ฒผ๋๋ฐย ์๋ง ๋นจ๊ฐ/ํ๋์ผ๋ก ๋ค๋ฅธย ๋ฒํผ 2๊ฐ ๋ง๋ค๊ธฐ
๋ฒํผ์ย ๋ผ๋์ ์ด์ ๋ถ๋ฆฌ
1. ๋ฒํผ์ ๊ธฐ๋ณธ ์คํ์ผ ์ ์ class ์์ฑ
2. ๋ฒํผ ์๊น ์คํ์ผ class ์์ฑ
โ CSS
.main-btn {
font-size : 20px;
padding : 15px;
border : none;
cursor : pointer;
}
.bg-red {
background : red;
}
.bg-blue {
background : blue;
}
โ HTML
<button class="main-btn bg-red">๋นจ๊ฐ๋ฒํผ</button>
<button class="main-btn bg-blue">ํ๋๋ฒํผ</button>
- ์ฅ์
- ์ค๋ณต๋ ์คํ์ผ ์ฌ์ฌ์ฉ๊ฐ๋ฅ
- ์ ์ง๋ณด์ ํธ๋ฆฌ
- ์ฝ๋ ๋นจ๋ฆฌ ์งค ์ ์์
๐ซ utility class
utility class(์ ์์ .bg-red ๊ฐ์ class)๋ฅผ ๋ง์ด ๋ง๋ค์ด ๋๋ฉด class ๋ช ๋ง ๊ณ ๋ฅด๋ฉด ๋จ
.bg-red {
background : red;
}
.bg-green {
background : green;
}
.bg-blue {
background : blue;
}
.font-small {
font-size : 12px;
}
.font-medium {
font-size : 16px;
}
.font-lg {
font-size : 20px;
}
font-size, width, margin, padding, text-align ๋ฑ์ ์กฐ์ ํ๋ utility class ๋ง์ด ๋ง๋ค์ด๋๋ฉด ํธ๋ฆฌ
๐ซ BEM
class ์๋ช
ํ ๋ BEM ์ด๋ผ๋ ์๋ช
๋ฒ์ ๋ฐ๋ฅด๋ฉด ์๊ฐ ์ํด๋ ๋์ด์ ํธ๋ฆฌ
1. class๋ฅผ ์๋ช
ํ ๋ ์ฐ์ ์ปดํฌ๋ํธ๋ช
์ผ๋ก ์์ํ๋๊ฒ ์ข์ต๋๋ค.
2. ํ๊ทธ๋ง๋ค ๋ค๋ฅธ class๋ช
์ ๋ถ์ฌํ๋ ค๋ฉด ํ๊ทธ๋ช
์ ๋ค์ ๋ถ์
๋๋ค.
ex) ์ปจํฌ๋ํธ๋ช
ํ๊ทธ์ด๋ฆ
3. ๊ฐ์ ํ๊ทธ๋ค์ ๋์์ธ์ ๊ตฌ๋ถํ๋ ค๋ฉด --
ex) ๋นจ๊ฐ ๋ฒํผ์ --red