Overview
#
Sass(SCSS) ๊ฐ์โ๏ธ ํด๋น ๊ธ์ ํจ์คํธ์บ ํผ์ค - ํ๋ก ํธ์๋ ๊ฐ๋ฐ ๊ฐ์์์ HTML & CSS, SASS(SCSS) Part์ ๋ฐ์์ ๊ฐ์ฌ๋์ ๊ฐ์์๋ฃ(Sass(SCSS) ์์ ์ ๋ณต!)๋ฅผ ๋ณด๋ฉฐ ์ ๋ฆฌํ ๊ฒ์ ๋๋ค.
#
Sass(SCSS)CSS๋ ์ฌ์ด ์ธ์ด์ ์ํ์ง๋ง ๋ฌธ๋ฒ์ด ์์์ ์ธ ํธ์ด๋ผ ์์ ์ด ๊ณ ๋ํ๋ ์๋ก ๋ณต์กํ๊ณ ๋ถํธํด์ง๋ค.
ํ์ง๋ง ์น์์๋ ํ์ค CSS๋ง ๋์ํ ์ ์๋ค.
Sass๋ CSS ์ ์ฒ๋ฆฌ๊ธฐ(Preprocessor)๋ก, CSS์ ์ ์ฌํ๊ณ ๋ณด๋ค ํธ๋ฆฌํ ๋ฌธ๋ฒ๊ณผ ๋ค์ํ ๊ธฐ๋ฅ์ ์ ๊ณตํ๋ค. ๋ฐ๋ผ์ Sass๋ก ๋ณด๋ค ํธํ๊ฒ ์ฝ๋๋ฅผ ์์ฑํ๋ฉด CSS๋ก ์ปดํ์ผ(Compile)ํ์ดํ ์น์์ ๋์ํ ์ ์๊ฒ ๋๋ค.
โ๏ธ ๋ค๋ฅธ CSS ์ ์ฒ๋ฆฌ๊ธฐ๋ก Less, Stylus๊ฐ ์๋๋ฐ, Sass๊ฐ ๊ฐ์ฅ ์ค๋๋ CSS ํ์ฅ ์ธ์ด์ด๋ฉฐ, ์ฑ์๋๊ฐ ๋๊ณ ์ปค๋ฎค๋ํฐ๊ฐ ๋ฐ๋ฌ๋์ด ์๋ค.
#
Sass์ SCSSSass(Syntactically Awesome Style Sheets)์ 3๋ฒ์ ๋ถํฐ ๋ฑ์ฅํ SCSS(Sassy Cascading Style Sheets)๋ ์ด๋ฆ์ฒ๋ผ CSS ๋ฌธ๋ฒ์ ์ด๋ ค โSassํ CSSโ์ด๋ค.
CSSํธํ์ฑ์ ๊ฐ์ถฐ CSS๊ฐ ์ง์ํ๋ ๋ชจ๋ ๋ฌธ๋ฒ๊ณผ ๊ธฐ๋ฅ์ SCSS์์ ๊ทธ๋๋ก ์ฌ์ฉํ ์์๋ค.
// Sass.box width: 100px height: 200px .content color: red float: left
// SCSS.box { width: 100px; height: 200px; .content{ color: blue; float: left; }}
๋์ ๊ฐ์ฅ ํฐ ์ฐจ์ด๋ Sass๋ ์ ํ์์ ์ ํจ๋ฒ์๋ฅผ โ๋ค์ฌ์ฐ๊ธฐโ๋ก ๊ตฌ๋ถํ๊ณ , SCSS๋ ์ค๊ดํธ( {}
)๋ก ๊ตฌ๋ถํ๋ค๋ ๊ฒ์ด๋ค.
CSS์์ ํธํ์ฑ ๋๋ฌธ์ SCSS์ ๋ฐฉ์์ด ์ ํธ๋๋ค.
โ๏ธ ์ด์ธ์๋ @mixin , @include ๋ฑ์์ ์ฐจ์ด๊ฐ ์๋ค.
#
์ปดํ์ผ ํ๊ฒฝ#
SassMeister๊ฐ๋จํ๊ฒ ์นํ์ด์ง์์ ์ฌ์ฉํ๋ Sass ์ปดํ์ผ๋ฌ
#
Parcel๋จผ์ npm์ด ์ค์น๋์ด ์์ด์ผ ํ๋ค.
ํ๋ก์ ํธ์์
npm init -y
์ดํ Parcel์ ์ค์นํ๋ค
npm install --save-dev parcel-bundler
๊ทธ๋ฆฌ๊ณ <link>
๋ก Sass ํ์ผ์ด ์ฐ๊ฒฐ๋์ด ์๋ index.html
์ ์คํํด๋ณธ๋ค.
npx parcel index.html
terminal-output-parcel
#
Referenceํจ์คํธ์บ ํผ์ค - ํ๋ก ํธ์๋ ๊ฐ๋ฐ ๊ฐ์ - HTML & CSS, SASS(SCSS) Part by ParkYoungWoong