SCSS ๊ตฌ์กฐ ๊ฐ์

๋์ ์
๋ค์๊ณผ ๊ฐ์ด ๊ตฌ์ฑ๋ ์์ SCSS:
.widget {
background-color: red;
.widget-body {
background-color: black;
.widget-link-block {
background-color: yellow;
.widget-link-block-menu {
background-color: green;
}
}
}
}
CSS๋ก ์ปดํ์ผ:
.widget {
background-color: red;
}
.widget .widget-body {
background-color: black;
}
.widget .widget-body .widget-link-block {
background-color: yellow;
}
.widget .widget-body .widget-link-block .widget-link-block-menu {
background-color: green;
}
2๊ฐ์ง ๋จ์ ์ด ์์ต๋๋ค.
<div class='widget'>
<div class='widget-body'>
<div class='widget-link-block'>
<div class='widget-link-block-menu'>
</div>
</div>
</div>
</div>
๊ณ์ธต ๊ตฌ์กฐ๋ฅผ ์๋ฐํ๋ฉด ์๋์ด ์ค์ง๋ฉ๋๋ค.
<div class='widget-body'>
<div>
์๋ํ์ง ์์ต๋๋ค
<div class='widget'>
<div class='widget-body'>
<div class='widget-link-block-menu'>
<div class='widget-link-block'>
</div>
</div>
</div>
</div>
์๋ํ์ง ์์ต๋๋ค
์ ์๋ ๋ฐฉ๋ฒ
SCSS๋ฅผ ์ฌ๋ฐ๋ฅด๊ฒ ์ฌ์ฉํ๊ณ ํ๋ก์ฐBEM
์์ SCSS ์๋ ๋ค์๊ณผ ๊ฐ์ด ์์ ํ ์ ์์ต๋๋ค.
.widget {
background-color: red;
&-body {
background-color: black;
}
&__link {
&__block {
background-color: yellow;
&__menu {
background-color: green;
}
}
}
}
CSS๋ก ์ปดํ์ผ๋ฉ๋๋ค.
.widget {
background-color: red;
}
.widget-body {
background-color: black;
}
.widget__link__block {
background-color: yellow;
}
.widget__link__block__menu {
background-color: green;
}
๋ณด์๋ค์ํผ ์ปดํ์ผ๋ CSS๋ ๋ ๊ฐ๊ฒฐํ๊ณ ๋ ๋ณต์กํฉ๋๋ค. SCSS๋ฅผ ์์ฑํ ๋ ๋ ์ด์ '.widget' ์์ฑ์ ๋ฐ๋ณตํ์ง ์์ต๋๋ค. ๋ ์ค์ํ ๊ฒ์ ์ปดํ์ผ๋ CSS๊ฐ ๋ ์ด์ HTML ๊ตฌ์กฐ์ ์์กดํ์ง ์๊ณ ๋ค์๊ณผ ๊ฐ์ด ์ฌ์ฉํ ์ ์๋ค๋ ๊ฒ์ ๋๋ค.
<div class='widget'>
<div class='widget-body'>
<div class='widget__link__block'>
<div class='widget__link__block__menu'>
</div>
</div>
</div>
</div>
๋๋ ๋ค๋ฅธ ์์๋ก:
<div class='widget'>
<div class='widget-body'>
<div class='widget__link__block__menu'>
<div class='widget__link__block'>
</div>
</div>
</div>
</div>
๋๋ ๊ฐ๋ณ์ ์ผ๋ก:
<div class='widget-body'>
</div>
Reference
์ด ๋ฌธ์ ์ ๊ดํ์ฌ(SCSS ๊ตฌ์กฐ ๊ฐ์ ), ์ฐ๋ฆฌ๋ ์ด๊ณณ์์ ๋ ๋ง์ ์๋ฃ๋ฅผ ๋ฐ๊ฒฌํ๊ณ ๋งํฌ๋ฅผ ํด๋ฆญํ์ฌ ๋ณด์๋ค https://dev.to/xiaohan_du/improve-scss-structure-49ofํ ์คํธ๋ฅผ ์์ ๋กญ๊ฒ ๊ณต์ ํ๊ฑฐ๋ ๋ณต์ฌํ ์ ์์ต๋๋ค.ํ์ง๋ง ์ด ๋ฌธ์์ URL์ ์ฐธ์กฐ URL๋ก ๋จ๊ฒจ ๋์ญ์์ค.
์ฐ์ํ ๊ฐ๋ฐ์ ์ฝํ
์ธ ๋ฐ๊ฒฌ์ ์ ๋
(Collection and Share based on the CC Protocol.)
์ข์ ์นํ์ด์ง ์ฆ๊ฒจ์ฐพ๊ธฐ
๊ฐ๋ฐ์ ์ฐ์ ์ฌ์ดํธ ์์ง
๊ฐ๋ฐ์๊ฐ ์์์ผ ํ ํ์ ์ฌ์ดํธ 100์ ์ถ์ฒ ์ฐ๋ฆฌ๋ ๋น์ ์ ์ํด 100๊ฐ์ ์์ฃผ ์ฌ์ฉํ๋ ๊ฐ๋ฐ์ ํ์ต ์ฌ์ดํธ๋ฅผ ์ ๋ฆฌํ์ต๋๋ค