Syntax-02-nesting
#
Sass(SCSS) Syntax - 2. ์ค์ฒฉโ๏ธ ํด๋น ๊ธ์ ํจ์คํธ์บ ํผ์ค - ํ๋ก ํธ์๋ ๊ฐ๋ฐ ๊ฐ์์์ HTML & CSS, SASS(SCSS) Part์ ๋ฐ์์ ๊ฐ์ฌ๋์ ๊ฐ์์๋ฃ(Sass(SCSS) ์์ ์ ๋ณต!)๋ฅผ ๋ณด๋ฉฐ ์ ๋ฆฌํ ๊ฒ์ ๋๋ค.
#
์ค์ฒฉ(Nesting)Sass(SCSS)๋ ์ค์ฒฉ ๊ธฐ๋ฅ์ ์ ๊ณตํด์ฃผ์ด ์์ ์ ํ์์ ๋ฐ๋ณต์ ํผํ๊ณ ํธ๋ฆฌํ๊ณ ์ง๊ด์ ์ผ๋ก ๋ณต์กํ ๊ตฌ์กฐ์ CSS๋ฅผ ์์ฑํ ์ ์๋ค.
.section { width: 100%; .list { padding: 20px; li { float: left; } }}
์ปดํ์ผํ๋ฉด
.section {width: 100%;}.section .list {padding: 20px;}.section .list li {float: left;}
&
(Ampersand)#
์์ ์ ํ์ ์ฐธ์กฐ ์ค์ฒฉ ์์์ &
ํค์๋๋ ์์(๋ถ๋ชจ) ์ ํ์๋ฅผ ์ฐธ์กฐํ์ฌ ์นํํ๋ค.
โ๏ธ & == โ์์(๋ถ๋ชจ) ์ ํ์โ
.btn { position: absolute; &.active { color: red; }}
.list { li { &:last-child { margin-right: 0; } }}
์ปดํ์ผํ๋ฉด
.btn {position: absolute;}.btn.active {color: red;}.list li:last-child {margin-right: 0;}
&
ํค์๋๊ฐ ์์(๋ถ๋ชจ) ์ ํ์๋ก ์นํํ๋ ๊ฐ๋
์ด๊ธฐ ๋๋ฌธ์ ๋ค์๊ณผ ๊ฐ์ด ์์ฉํ๋๊ฒ๋ ๊ฐ๋ฅํ๋ค.
.fs { &-small { font-size: 12px; } &-medium { font-size: 14px; } &-large { font-size: 16px; }}
์ปดํ์ผํ๋ฉด
.fs-small {font-size: 12px;}.fs-medium {font-size: 14px;}.fs-large {font-size: 16px;}
@at-root
#
์ค์ฒฉ ๋ฒ์ด๋๊ธฐ @at-root
๋ ์ค์ฒฉ์์ ๋ฒ์ด๋๊ณ ์ถ์ ๋ ์ฌ์ฉํ๋ ํค์๋์ด๋ค.
์ค์ฒฉ์์ ๋ฒ์ด๋์ผ ํ๋ ๊ฒฝ์ฐ์ ํ ๊ฐ์ง ์๋ฅผ ์ดํด๋ณด๋ฉด,
.section { $width: 100px; $height: 200px; width: $width; height: $height; .item { width: $width; height: $height; }}
$width
, $height
์ ๊ฐ์ด ์ด๋ฆ ์์ $
๊ฐ ๋ถ์ ๊ฐ์ ๋ณ์๋ก ์ฌ์ฉํ ์ ์๋ค.
๐ Sass(SCSS) Syntax - 3. ๋ณ์ ์ฐธ์กฐ
๊ทธ๋ฐ๋ฐ ์ด ๋ณ์๋ ์ ํจ๋ฒ์๊ฐ ์์ด์ ๋ณ์๊ฐ ์ ์ธ๋ .section
์ ๋ธ๋ก ( {}
) ๋ด๋ถ์์๋ง ์ฌ์ฉํ ์ ์๊ณ , ๊ทธ ๋ฐ์์ ์ฌ์ฉํ๋ฉด ์ปดํ์ผ๋์ง ์๋๋ค.
๊ทธ๋์ .section
์ ํ์ ์์๋ ์๋์ง๋ง, ๋ณ์๋ฅผ ์ฌ์ฉํ๊ธฐ ์ํด @at-root
ํค์๋๋ฅผ ์ฌ์ฉํ๋ฉด ์ ์ฉํ๋ค.
.section { $width: 100px; $height: 200px; width: $width; height: $height; .item { width: $width; height: $height; } @at-root .box { width: $width; height: $height; }}
์ปดํ์ผํ๋ฉด
.section {width: 100px;height: 200px;}.section .item {width: 100px;height: 200px;}.box {width: 100px;height: 200px;}
#
์ค์ฒฉ๋ ์์ฑfont-
, margin-
๋ฑ ๋์ผํ ๋ค์ ์คํ์ด์ค๋ฅผ ๊ฐ์ง๋ ์์ฑ๋ค(๊ฐ์ ๋จ์ถ ์์ฑ ์๋์ ์๋ ๊ฐ๋ณ ์์ฑ๋ค)์ ์ฌ์ฉํ ๋ ์ค๋ณต์ ์ค์ด๊ธฐ ์ํด ์ฌ์ฉํ๋ ๋ฐฉ๋ฒ
.box { font: { weight: bold; size: 10px; family: sans-serif; }; margin: { top: 10px; left: 20px; }; padding: { bottom: 40px; right: 30px; };}
โ๏ธ (์์ฑ์ ์ ๋์ฌ): {}
์ปดํ์ผํ๋ฉด
.box {font-weight: bold;font-size: 10px;font-family: sans-serif;margin-top: 10px;margin-left: 20px;padding-bottom: 40px;padding-right: 30px;}
#
Referenceํจ์คํธ์บ ํผ์ค - ํ๋ก ํธ์๋ ๊ฐ๋ฐ ๊ฐ์ - HTML & CSS, SASS(SCSS) Part by ParkYoungWoong