Syntax-07-extend
#
Sass(SCSS) Syntax - 7. ํ์ฅ(Extend)โ๏ธ ํด๋น ๊ธ์ ํจ์คํธ์บ ํผ์ค - ํ๋ก ํธ์๋ ๊ฐ๋ฐ ๊ฐ์์์ HTML & CSS, SASS(SCSS) Part์ ๋ฐ์์ ๊ฐ์ฌ๋์ ๊ฐ์์๋ฃ(Sass(SCSS) ์์ ์ ๋ณต!)๋ฅผ ๋ณด๋ฉฐ ์ ๋ฆฌํ ๊ฒ์ ๋๋ค.
#
ํ์ฅ(Extend)๋ค๋ฅธ ์ ํ์์ ๋ชจ๋ ์คํ์ผ์ ๊ทธ๋๋ก ๊ฐ์ ธ์ค๋ฉด์ ๋ช ๊ฐ์ง ์คํ์ผ์ ์ถ๊ฐํด์ผํ๋ ๊ฒฝ์ฐ , ํ์ฅ์ ์ฌ์ฉํ ์ ์๋ค.
.btn { padding: 10px; margin: 10px; background: blue;}.btn-danger { @extend .btn; background: red;}
โ๏ธ btn-danger ์ ํ์๊ฐ btn ์ padding , margin , background ๋ฑ์ ์์ฑ์ ๋ชจ๋๊ฐ์ ธ์ค๋ฉด์ background ๋ง red ๋ก ๋ฐ๊พธ๊ณ ์ถ์ ๋, ํ์ฅ์ ์ฌ์ฉํจ.
์ปดํ์ผํ๋ฉด
.btn, .btn-danger {padding: 10px;margin: 10px;background: blue;}.btn-danger {background: red;}
์ปดํ์ผ ๊ฒฐ๊ณผ๋ฅผ ๋ณด๋ฉด ,
๋ก ๊ตฌ๋ถํ๋ ๋ค์ค ์ ํ์(Multiple Selector)๊ฐ ๋ง๋ค์ด์ก๋ค.
๋ค์ค ์ ํ์๋ก ๋ง๋ค์ด์ง๋ ๊ฐ๋ ์ด๊ธฐ ๋๋ฌธ์ ๋ฌธ์ ๊ฐ ๋ฐ์ํ ์ ์๋ค.
.container { width: 300px; height: 300px; background: red; .item { width: 200px; height: 200px; background: blue; .icon { width: 100px; height: 100px; background: green; } }}
.new-icon { @extend .icon;}
์ปดํ์ผํ๋ฉด
.container {width: 300px;height: 300px;background: red;}.container .item {width: 200px;height: 200px;background: blue;}.container .item .icon, .container .item .new-icon {width: 100px;height: 100px;background: green;}
โ๏ธ .new-icon ์ด ์๊ธฐ์น์๊ฒ .item ์ ํ์ ์์๋ก ๋ค์ด๊ฐ๊ฒ ๋จ
@extend
๋ฅผ ์ฌ์ฉํ ๋๋ ๋ค์๊ณผ ๊ฐ์ ๋ฌธ์ ๋ฅผ ๊ณ ๋ คํด์ผ ํ๋ค.
๋ด ์ ํ์๊ฐ ์ด๋์ ์ฒจ๋ถ๋ ๊ฒ์ธ๊ฐ?
์์น ์๋ ๋ถ์์ฉ์ด ์ด๋๋ ์ ์๋๊ฐ?
์ด ํ๋ฒ์ ํ์ฅ์ผ๋ก ์ผ๋ง๋ ํฐ CSS๊ฐ ์์ฑ๋๋๊ฐ?
ํ์ฅ์ ์ ์ตํ ์ ์์ผ๋ ๋ถ์์ฉ์ด ์๋ค. (์ฌ์ฉ์ ๊ถ์ฅํ์ง ์์)
โ๏ธ @mixin ์ผ๋ก ๋์ฒดํด์ ์ฌ์ฉ๐ Sass Guidelines Extend ์ฐธ๊ณ
#
Referenceํจ์คํธ์บ ํผ์ค - ํ๋ก ํธ์๋ ๊ฐ๋ฐ ๊ฐ์ - HTML & CSS, SASS(SCSS) Part by ParkYoungWoong