Syntax-04-import
@import
)#
Sass(SCSS) Syntax - 4. ๊ฐ์ ธ์ค๊ธฐ( โ๏ธ ํด๋น ๊ธ์ ํจ์คํธ์บ ํผ์ค - ํ๋ก ํธ์๋ ๊ฐ๋ฐ ๊ฐ์์์ HTML & CSS, SASS(SCSS) Part์ ๋ฐ์์ ๊ฐ์ฌ๋์ ๊ฐ์์๋ฃ(Sass(SCSS) ์์ ์ ๋ณต!)๋ฅผ ๋ณด๋ฉฐ ์ ๋ฆฌํ ๊ฒ์ ๋๋ค.
@import
)#
๊ฐ์ ธ์ค๊ธฐ( CSS์์ @import
๋ก ์ธ๋ถ CSS๋ฅผ ๋ถ๋ฌ์ค๋ ๊ฒ์ฒ๋ผ Sass์์๋ @import
๋ฅผ ์ฌ์ฉํด์์ฌ๋ฌ Sassํ์ผ๋ค์ ๋ถ๋ฌ์ฌ ์ ์๋๋ฐ, CSS์ ๋ฌธ๋ฒ์ด๋ ์๋๋ฐฉ์์ด ๋ค๋ฅด๋ค.
CSS์ ๋ค๋ฅธ ์ ์, Sass๋ ๊ธฐ๋ณธ์ ์ผ๋ก ์ธ๋ถ์ Sass(๋๋ SCSS) ํ์ผ์ ๋ด์ฉ์ ๊ฐ์ ธ์ ํ์ผ์ ๋ด์ฉ์ ํ์ฌ ํ์ผ์ ์ถ๊ฐํ๋ ๊ฐ๋
์ด๊ณ , CSS์ @import
๋ ๋ค๋ฅธ CSS ํ์ผ์ ๋ก๋ฉ์ http์ ์์ฒญํ๋ ๊ฐ๋
์ด๋ค.
๋ฐ๋ผ์ Sass์์ @import
๋ฅผ ์ฌ์ฉํ๋ฉด ์ต์ข
์ ์ผ๋ก ํ๋์ CSS๋ก ์ปดํ์ผํด์ฃผ๊ธฐ ๋๋ฌธ์ ์ฌ๋ฌ ๋ฒ์ ์์ฒญ์ ๋ณด๋ผ ํ์๊ฐ ์์ด์ ์ฑ๋ฅ์ ์ผ๋ก๋ ์ข๋ค. ๋ํ ๊ฐ์ ธ์จ ํ์ผ์ ์ ์๋ ๋ชจ๋ ๋ณ์ ๋๋ Mixins ๋ฑ์ ์ฃผ ํ์ผ์์ ์ฌ์ฉํ ์ ์์ผ๋ฏ๋ก ์ ์ฉํ๋ค.
๐ CSS - Overview - @import ๋ฐฉ์ ์ฐธ์กฐ
Sass๋ ๊ธฐ๋ณธ์ ์ผ๋ก Sass(๋๋ SCSS) ํ์ผ์ ๊ฐ์ ธ์ค์ง๋ง, ๋ช ๊ฐ์ง ๊ฒฝ์ฐ์๋ CSS @import
๋ฌธ๋ฒ์ผ๋ก ๋ณํ๋๋ฏ๋ก ์ฃผ์ํด์ผํ๋ค.
ํ์ผ ํ์ฅ์๊ฐ
.css
์ผ ๋ํ์ผ ์ด๋ฆ์ด
http://
๋ก ์์ํ๋ ๊ฒฝ์ฐurl()
์ด ๋ถ์์ ๊ฒฝ์ฐ๋ฏธ๋์ด์ฟผ๋ฆฌ๊ฐ ์๋ ๊ฒฝ์ฐ
@import "hello.css";@import "http://hello.com/hello";@import url(hello);@import "hello" screen;
#
์ฌ๋ฌ ํ์ผ ๊ฐ์ ธ์ค๊ธฐํ๋์ @import
๋ก ์ฌ๋ฌ ํ์ผ์ ๊ฐ์ ธ์ฌ ์๋ ์๋ค.
ํ์ผ ์ด๋ฆ์ ,
๋ก ๊ตฌ๋ถํ๋ค.
@import "header", "footer";
โ๏ธ ํ์ฅ์ ์์ด ํ์ผ ์ด๋ฆ๋ง์ผ๋ก ๊ฐ์ ธ์ค๊ธฐ๋ฅผ ํ๋ฉด, ํ์ผ๋ช .scss , ํ์ผ๋ช .sass , ํ์ผ๋ช .scss , ํ์ผ๋ช .sass ์ด ์๋์ง ๊ฒ์ํ๊ณ ๊ฐ์ ธ์จ๋ค. ์ฌ๋ฌ ํ์ผ์ด ์กด์ฌํ๋ฉด์๋ฌ๊ฐ ๋ฐ์ํ๋ค.
#
ํ์ผ ๋ถํ (Partials)ํ๋ก์ ํธ ๊ท๋ชจ๊ฐ ์ปค์ง๋ฉด ํ์ผ๋ค์ header.scss
, side-menu.scss
โฆ ์ฒ๋ผ ๊ฐ ๊ธฐ๋ฅ๊ณผ ๋ถ๋ถ์ผ๋ก ๋๋ ์ ์ง๋ณด์๊ฐ ์ฝ๋๋ก ๊ด๋ฆฌํ๊ฒ ๋๋๋ฐ, ์ด๋ ๊ฒ ๋๋ฉด ํ์ผ์ด ๋ง์์ง๊ณ ์ปดํ์ผ์ ๊ฐ๊ฐ์ ~.css
ํ์ผ๋ก ์ ์ฅ๋๋ค๋ฉด ๊ด๋ฆฌ๋ ์ฑ๋ฅ ์ฐจ์์์ ๋ฌธ์ ๊ฐ ๋ ์ ์๋ค .
์ด๋ฅผ ์ํด Sass์์๋ ํ์ผ ๋ถํ (Partials) ๊ธฐ๋ฅ์ ์ง์ํ๋ค.
ํ์ผ ์ด๋ฆ ์์ _
๋ฅผ ๋ถ์ฌ( _header.scss
์ฒ๋ผ) @import
๋ก ๊ฐ์ ธ์ค๋ฉด ์ปดํ์ผ ์ ~.css
ํ์ผ๋ก ์ปดํ์ผํ์ง ์๋๋ค.
#
์์ ๋ง์ฝ ํ์ผ ๊ตฌ์กฐ๊ฐ ์ด๋ฌํ ๋,
Sass-App# ...โโscssโ โโheader.scssโ โโside-menu.scssโ โโmain.scss# ...
main.scss
๋ก ๋ค๋ฅธ ํ์ผ๋ค์ @import
ํ๊ณ
// main.scss@import "header", "side-menu"
node-sass
๋ก ์ปดํ์ผํ๋ฉด
$ node-sass scss --output css
์๋์ ๊ฐ์ด scss/
์ ์๋ ํ์ผ๋ค์ด css/
์์ ๊ฐ ํ๋์ฉ์ ํ์ผ๋ก ์ปดํ์ผ๋๋ค.
Sass-App# ...โโcssโ โโheader.cssโ โโside-menu.cssโ โโmain.cssโโscssโ โโheader.scssโ โโside-menu.scssโ โโmain.scss# ...
์ด๋ฒ์ ๊ฐ์ ธ์ฌ ํ์ผ ์ด๋ฆ์ _
๋ฅผ ๋ถ์ด๊ณ , ๋ฉ์ธ ํ์ผ์ธ main.scss
์๋ง _
๋ฅผ ๋ถ์ด์ง ์๋๋ค.
Sass-App# ...โโscssโ โโ_header.scssโ โโ_side-menu.scssโ โโmain.scss# ...
// main.scss@import "header", "side-menu";
์ปดํ์ผํ๋ฉดโฆ
$ node-sass scss --output css
์๋์ฒ๋ผ ๋ณ๋์ ํ์ผ๋ก ์ปดํ์ผ๋์ง ์๋๋ค.
Sass-App# ...โโcssโ โโmain.css # main + header + side-menuโโscssโ โโheader.scssโ โโside-menu.scssโ โโmain.scss# ...
โ๏ธ Webpack ์ด๋ Parcel , Gulp ๊ฐ์ ์ผ๋ฐ์ ์ธ ๋น๋ํด์์๋ Partials ๊ธฐ๋ฅ์ ์ฌ์ฉํ ํ์ ์์ด, ์ค์ ๋ ๊ฐ์ ๋ฐ๋ผ ๋น๋๋์ง๋ง ๋๋๋ก _ ๋ฅผ ์ฌ์ฉํ ๊ฒ์ ๊ถ์ฅ
#
Referenceํจ์คํธ์บ ํผ์ค - ํ๋ก ํธ์๋ ๊ฐ๋ฐ ๊ฐ์ - HTML & CSS, SASS(SCSS) Part by ParkYoungWoong