์ด ์ฝ๋๋ ๋ค์์ ์ค๋จํฉ๋๋ค.
paper-drawer-panel {
--paper-drawer-panel-left-drawer: {
background-color: red;
};
}
์์ฑ ๊ฐ์ ์ค๊ดํธ๋ ํ์๋ฅผ ์ค๋จํฉ๋๋ค.
Polymer์์ ์ฌ์ฉํ๋ @apply
๊ตฌ๋ฌธ์ ์ง์ํ์ง ์๊ธฐ๋ฅผ ๋ฐ๋๋๋ค.
https://www.polymer-project.org/1.0/docs/devguide/styling.html#custom -css-mixins
๋ํ ์๋ :
paper-drawer-panel {
<strong i="14">@ruleset</strong>: {
prop: value;
};
--paper-drawer-panel-left-drawer: %(~"%d", @ruleset);
}
ํ์๋ฅผ ์ค๋จํ์ง๋ ์์์ง๋ง ์ ๋ฌํ์ต๋๋ค.
paper-drawer-panel {
--paper-drawer-panel-left-drawer: ;
}
์ด๋ ๋ถ๋ช ํ ๋ฐ๋์งํ ํ๋์ด ์๋๋๋ค.
๋น CSS ๊ตฌ๋ฌธ ์ง์์ Less ๋ฒ์๋ฅผ ๋ฒ์ด๋ฉ๋๋ค. ๊ทธ๋์ ๋ด -1.
์ด๋ ์ชฝ์ด๋ ์ด์ค์ผ์ดํ๋ฅผ ์ฌ์ฉํ์ฌ ์ถ๋ ฅ์ ๋ชจ๋ ์ฝ๋๋ฅผ ๋ด๋ณด๋ผ ์ ์์ต๋๋ค. ์ :
xpaper-drawer-panel {
--paper-drawer-panel-left-drawer: ~"{background-color: red;}";
}
๋๋ ๋ ํ๋ํ ์ฌ๋ฌ ์ค ๋ฐฉ์์ผ๋ก :
paper-drawer-panel {
-:~";--paper-drawer-panel-left-drawer: {";
background-color: red;
color: blue;
-:~";}";
}
๋ ๋ณต์กํ ์ํฉ์์๋ ํญ์ <strong i="13">@import</strong> (inline)
๋ฅผ ์ฌ์ฉํ ์๋ ์์ต๋๋ค.
%(~"%d", @ruleset);
-์๋์, Less ๋ณ์๋ ๋งคํฌ๋ก๊ฐ ์๋๋ฉฐ ์ปจํ
์คํธ์ ๊ด๊ณ์์ด ํ์ฅ๋์ง ์์ผ๋ฉฐ ํนํ ์ด๋ฆ์ด ์ง์ ๋์ง ์์ ๊ท์น ์งํฉ์ ๊ฒฝ์ฐ ์ ์ผํ ์ ์ ํ ๊ตฌ๋ฌธ์ ๊ท์น ์งํฉ ๋ณธ๋ฌธ ๋ด์์ @ruleset()
์ด๊ณ _not_ as ์์ฑ ๊ฐ.
๋นํ์ค ๊ตฌ๋ฌธ์ ์ผ๋ฐ์ ์ผ๋ก ์ง์๋์ง ์์์ผํ๋ค๋ ๋ฐ ๋์ํฉ๋๋ค.
๊ทธ๋ฌ๋ ์ด๊ฒ์ LESS๊ฐ ๋ง์ ๊ฒฝ์ฐ Polymer์ ํธํ๋์ง ์์์ ์๋ฏธํฉ๋๋ค.
์ด์จ๋ ๋ต์ฅ์ ๋ณด๋ด ์ฃผ์ ์ ๊ฐ์ฌํฉ๋๋ค. : +1 :
์ด๊ฒ์ด @ seven-phases-max ๊ฒฐ์ ์ ์ฐจ์ด๊ฐ ์๋์ง ํ์คํ์ง ์์ง๋ง @apply
๊ท์น์ ๋ํ ๊ณต๊ฐ ์ฌ์์ด ์์ต๋๋ค. http://tabatkins.github.io/specs/css-apply-rule/ #issue -882293bd.
๋ํ https://github.com/Polymer/polymer/issues/1373 ์ ์ฐธ์กฐ
๊ทธ๋ฆฌ๊ณ SASS๋ https://github.com/sass/sass/issues/1128์ ํด๊ฒฐํ๋ ๊ฒ ๊ฐ์ต๋๋ค.
@ donny-dont ์ฐธ๊ณ ๋๋ ์๋ฌด๊ฒ๋ ๊ฒฐ์ ํ์ง ์๋๋ค (๋๋ ์ ์์ ๋ซ์ง ์์๋ค)-๋๋ ๋จ์ง ๋นํ๊ฐ ์ผ ๋ฟ์ด๋ค.
์, Tab Atkins๋ _tens_ ๊ฐ์ CSS ํ์ค ์ ์ ( "์์ด๋์ด"๋ผ๊ณ ํจ)์ ์์ฑํ์ผ๋ฉฐ Google ์ง์์ด ๋ด์ผ์๋์ด๋ฅผ ๋ธ๋ผ์ฐ์ ์ ๋ฐ์ด ๋ฃ์ ์ ์์ง๋ง ์์ง CSS ์ด์์ด ๋๊ธฐ์๋ ๋๋ฌด ๋ฉ์์ต๋๋ค (CSS vars
๋ ์ฝ 10 ๋
๋์ CSS ์ธ๊ณ์ ๋ค์ด ์ค ์
จ๋์?).
์๋ฏธ์ ๋ํด @ seven-phases-max ์ฌ๊ณผํฉ๋๋ค. Polymer๊ฐ mixin ์ ์์ ์ถ์งํ๊ณ ์์ผ๋ฉฐ @Jamtis ๊ฐ ์ค์ ๋ก ์ ๋ฌํ์ง ์์ ๊ฒ์ด ํ์ฑ๋๋ฉด Chrome
์ด๋ฐ ์ข ๋ฅ์ ์๋๋ฆฌ์ค์์ ํ์ ์ฉ ํ๋ฌ๊ทธ์ธ ์์คํ ์ด ์์ต๋๊น? ์คํ์ฉ ํ๋๊ทธ์ ๊ฐ์ด ์ผ๊ณ ๋ ์ ์์ต๋๊น?
์ฌ๊ธฐ์์ ์ค๋ณต ์์ฒญ์ ๋ฆฌ๋๋ ์ ํ ์ ์๋๋ก ๋ค์ ์ฝ๋ ๋ค.
/๋ณด๊ฒฐ
์ด์ ๋ํ ์ฌ์์ด ์์ต๋๋ค. ํด๋ฆฌ ํ์ด ์กด์ฌํฉ๋๋ค. Chrome์์ ๊ตฌํํ์ต๋๋ค. Polymer๋ ์ด๋ฏธ 1.0 ๋ฆด๋ฆฌ์ค์์ ์ฌ์ฉํ๊ณ ์์ต๋๋ค. ์น ์ฌ์ดํธ๋ ์ด๋ฏธ Polymer๋ฅผ ์ฌ์ฉํ๊ณ ์์ต๋๋ค.
Less๊ฐ ์ต์ํ์ ์์ค์์ ๊ตฌ๋ฌธ์ ์ง์ํ๋ ๊ฒ์ด ์๋ฒฝํ๊ฒ ํฉ๋ฆฌ์ ์ธ ๊ธฐ๋๋ผ๊ณ ์๊ฐํฉ๋๋ค.
์ ์ @apply
์ด๋ฏธ --foo: bar;
๋ฐ var(--foo)
ํต๊ณผํฉ๋๋ค. ๋น ์ง ์ ์ผํ ๊ฒ์ Less๊ฐ --foo: { property: value; }
์ { ... }
๋ฅผ ํต๊ณผํ๋ ๊ฒ์
๋๋ค. ๋ค๋ฅธ CSS ๋ธ๋ก์ ์ฃผ์ด์ง ๊ฒ๊ณผ ๋์ผํ ๊ธฐ๋ณธ ์ฒ๋ฆฌ๋ฅผ ์ฌ์ฉํฉ๋๋ค. ํ๋ ์คํฑ์ ๋๋ฌํ๊ณ ๊ตฌ๋ฌธ ๋ถ์ ์ค๋ฅ๋ฅผ ๋์ง๋ ๋์ .
CSS ๋ณ์์ ์ ์ฒด ์ฌ์์ด LESS์์ ์ง์๋์ด์ผํ๋ค๊ณ ์๊ฐํฉ๋๋ค. ์ด๋ฐ ์ผ์ด ์ผ์ด๋๊ธฐ๋ฅผ ์ํฉ๋๋ค!
@dantman
์ด์ ๋ํ ์ฌ์์ด ์์ต๋๋ค. ํด๋ฆฌ ํ์ด ์กด์ฌํฉ๋๋ค. Chrome์์ ๊ตฌํํ์ต๋๋ค. Polymer๋ ์ด๋ฏธ 1.0 ๋ฆด๋ฆฌ์ค์์ ์ฌ์ฉํ๊ณ ์์ต๋๋ค. ์น ์ฌ์ดํธ๋ ์ด๋ฏธ Polymer๋ฅผ ์ฌ์ฉํ๊ณ ์์ต๋๋ค.
๋์๊ฒ ๊ทธ๊ฒ์ ์ฌ์ ํ โโ๊ทธ๋ค์ง ์ค๋๋ ฅ์ด์๋ ์ด์ ๊ฐ ์๋๋๋ค. ์ฆ, Google, Google ๋ฐ Google์ด ์ด๊ฒ์ ์ฌ์ฉํ๊ณ ์์ต๋๋ค. ๋ค๋ฅธ ๊ณณ์์๋ ๊ด์ฌ์ด ๋จ์ง ์์๊ณ ์ด๋ค ์งํ๋ ์์ ๊ฒ์ ๋๋ค.
@ donny-dont
์ด๋ฐ ์ข ๋ฅ์ ์๋๋ฆฌ์ค์์ ํ์ ์ฉ ํ๋ฌ๊ทธ์ธ ์์คํ ์ด ์์ต๋๊น? ์คํ์ฉ ํ๋๊ทธ์ ๊ฐ์ด ์ผ๊ณ ๋ ์ ์์ต๋๊น?
ํ๋ฌ๊ทธ์ธ ์์คํ ์ด ์์ง๋ง ๊ตฌ๋ฌธ ๋ถ์ ๋ณ๊ฒฝ์ ๋ํ ์ง์ ์ ์ธ ์ง์์ ์์ต๋๋ค. ๊ทธ๋์ ๊ทธ๊ฒ์ ์ฌ์ํ ์ผ์ด ์๋๋๋ค.
@dantman
์ด์ ๋ํ ์ฌ์์ด ์์ต๋๋ค. ํด๋ฆฌ ํ์ด ์กด์ฌํฉ๋๋ค. Chrome์์ ๊ตฌํํ์ต๋๋ค. Polymer๋ ์ด๋ฏธ 1.0 ๋ฆด๋ฆฌ์ค์์ ์ฌ์ฉํ๊ณ ์์ต๋๋ค. ์น ์ฌ์ดํธ๋ ์ด๋ฏธ Polymer๋ฅผ ์ฌ์ฉํ๊ณ ์์ต๋๋ค.๋์๊ฒ ๊ทธ๊ฒ์ ์ฌ์ ํ โโ๊ทธ๋ค์ง ์ค๋๋ ฅ์ด์๋ ์ด์ ๊ฐ ์๋๋๋ค. ์ฆ, Google, Google ๋ฐ Google์ด ์ด๊ฒ์ ์ฌ์ฉํ๊ณ ์์ต๋๋ค. ๋ค๋ฅธ ๊ณณ์์๋ ๊ด์ฌ์ด ๋จ์ง ์์๊ณ ์ด๋ค ์งํ๋ ์์ ๊ฒ์ ๋๋ค.
์ด ๊ฒฐ๋ก ์ ์ผ๋ฐ์ ์ธ CSS์์ ํฌ๊ฒ ๋ฒ์ด๋๋ณด๋ค ๋ ์ ์ ์ด๊ณ ์ง์๋์ง ์๋ ๊ตฌ๋ฌธ์ ๋ํด ์ด์ผ๊ธฐํ๊ณ ์๋ค๋ฉด ์๋ฏธ๊ฐ ์์ต๋๋ค. ํ์ง๋ง Less๊ฐ ์ด๋ฏธ ์ค์ฒฉ์ ์ดํดํ๊ณ ๋ฌธ์ ์ ๊ตฌ๋ฌธ์ด CSS์ ๋๊ดํธ ์ผ์น ๊ธฐ๋ฐ ๊ตฌ๋ฌธ ๋ถ์ ๊ท์น์ ์๋ฒฝํ๊ฒ ๋ง๊ณ ์ฃผ๋ณ CSS๋ฅผ ๊นจ์ง ์์ผ๋ฉฐ ๋ค๋ฅธ ์ฃผ์ CSS ์ ์ฒ๋ฆฌ๊ธฐ ๋ฐ ํ ์ฒ๋ฆฌ๊ธฐ๊ฐ ์์ ์ค์ผ ๋ ๋ ์์ฑ ๊ตฌ๋ฌธ ๋ถ์ ์ค๋ฅ์ ๋ํด ์ด์ผ๊ธฐํ๊ณ ์์ต๋๋ค. ์ง์ํ๊ฑฐ๋ ์ด๋ฏธ ์๋ํฉ๋๋ค.
์ด ๊ฒฐ๋ก ์ ์ผ๋ฐ์ ์ธ CSS์์ ํฌ๊ฒ ๋ฒ์ด๋๋ณด๋ค ๋ ์ ์ ์ด๊ณ ์ง์๋์ง ์๋ ๊ตฌ๋ฌธ์ ๋ํด ์ด์ผ๊ธฐํ๊ณ ์๋ค๋ฉด ์๋ฏธ๊ฐ ์์ต๋๋ค. ํ์ง๋ง Less๊ฐ ์ด๋ฏธ ์ค์ฒฉ์ ์ดํดํ๊ณ ๋ฌธ์ ์ ๊ตฌ๋ฌธ์ด CSS์ ๋๊ดํธ ์ผ์น ๊ธฐ๋ฐ ๊ตฌ๋ฌธ ๋ถ์ ๊ท์น์ ์๋ฒฝํ๊ฒ ๋ง๊ณ ์ฃผ๋ณ CSS๋ฅผ ๊นจ์ง ์์ผ๋ฉฐ ๋ค๋ฅธ ์ฃผ์ CSS ์ ์ฒ๋ฆฌ๊ธฐ ๋ฐ ํ ์ฒ๋ฆฌ๊ธฐ๊ฐ ์์ ์ค์ผ ๋ ๋ ์์ฑ ๊ตฌ๋ฌธ ๋ถ์ ์ค๋ฅ์ ๋ํด ์ด์ผ๊ธฐํ๊ณ ์์ต๋๋ค. ์ง์ํ๊ฑฐ๋ ์ด๋ฏธ ์๋ํฉ๋๋ค.
๊ด๋ จ์ด ์์ต๋๋ค. Less์ ๋ถ๋ฆฌ ๋ ๊ท์น ์งํฉ๊ณผ ๋งค์ฐ ์ ์ฌํฉ๋๋ค. Less์ ์ถ๊ฐ ๋ ๋ค๋ฅธ "pass-thru"ํญ๋ชฉ์ ๋ํ ์ ๋ก๊ฐ ์์ต๋๋ค. ๊ทธ๋์ ๋ฐ๋์ ๋ฐ๋ํ๋ ๊ฒ์ ์๋๋๋ค. ํ์ฌ Polymer ์ด์์ ๊ฐ์น๊ฐ ์๋ค๋ฉด ํ์์ ์ ๋๋ค.
CSS ๋ณ์์ ๋ํ ๊ณต์ ์ง์์ ์ฌ๊ธฐ์ ๋์ด๋์ด ์์ต๋๋ค. http://caniuse.com/#feat = css-variables
๊ธฐ๋ณธ CSS ๋ณ์ ์ง์์์ํ ์ต์ ๋ธ๋ผ์ฐ์ ๋ฒ์
ํด๋ฆฌ ํ์ด์๋ ๊ฒฝ์ฐ ์ด๋ ์ฝ 65 %์ ๊ธ๋ก๋ฒ ๋ธ๋ผ์ฐ์ ์ฌ์ฉ์ ํด๋นํฉ๋๋ค.
์ฌ๋ฌ CSS Variable Polyfill์ ์ฌ์ฉํ๋ฉด ๋ธ๋ผ์ฐ์ ๊ฐ์ด๋ฅผ ๊ตฌํํ๊ณ ๋๊ท๋ชจ ๋ธ๋ผ์ฐ์ ๊ณต๊ธ์๊ฐ์ด๋ฅผ ์ถ์งํฉ๋๋ค. ์ด๊ฒ์ด ๊ฐ์ง๊ณ ์๋ ๊ท์คํ ๊ธฐ๋ฅ์ธ ๊ฒ ๊ฐ์ต๋๋ค.
๊ณต์ ์ฌ์ : https://drafts.csswg.org/css-variables/
@stramel ๊ทธ๊ฒ์์ด ๋ฌธ์ ์ ๊ด๋ จ์ด ์์ต๋๋ค. Less์์๋ CSS ๋ณ์๊ฐ ์ด๋ฏธ ์ง์๋ฉ๋๋ค. ์์ฒญ์ ํด๋น ์ฌ์์ ์ผ๋ถ๊ฐ ์๋ ์ฝ @apply
์
๋๋ค.
ํธ์ง : ๋ชจ๋ CSS ์ฌ์ฉ์ ์ ์ ์์ฑ ๊ฐ์ด ์ง์๋๋ ๊ฒ์ ์๋๋๋ค. ์๋๋ฅผ ์ฐธ์กฐํ์ญ์์ค.
@ matthew-dean ์ฃ์กํฉ๋๋ค. ์คํดํ์ต๋๋ค. ๊ด๊ณ์์ด : +1 : CSS ๋ฏน์ค ์ธ / ์ฌ์ฉ์ ์ ์ ์์ฑ ์ธํธ ์ฉ
@ matthew-dean ๋ ์ง์ํ๋ ๊ธฐ์ค์ ๋ฌด์์ ๋๊น? ๋ค๋ฅธ ๋ธ๋ผ์ฐ์ ๊ฐ ๊ตฌํ๋์ด ์์ผ๋ฉด ๊ด์ฐฎ์ต๋๊น?
@ donny-dont Less๋ ์ปค๋ฎค๋ํฐ ํ๋ก์ ํธ์ด๋ฏ๋ก ํน๋ณํ ๋ฐ๊ฐ ์์ต๋๋ค. ๊ทธ๋ฌ๋ ์, ๋จ์ผ ๋ธ๋ผ์ฐ์ ๋ฅผ ๋์ด์๋ ๊ฒ์ด ๋ ์ผ๋ฐ์ ์ธ ๊ธฐ๋ฅ์ผ๋ก ๋ง๋ค ๊ฒ์ ๋๋ค.
๋๊ตฐ๊ฐ๊ฐ ์ด๊ฒ์ ๊ฒ์ํ๋ ๊ฒฝ์ฐ (๋ด๊ฐ ํ ๊ฒ์ฒ๋ผ) : ๋ชจ๋ Polymer ๋นํ์ค CSS๋ฅผ ๋ณ๋์ ํ์ผ์ ๋ฃ๊ณ ๋ ์ ์ ํ์ผ์ ์ธ๋ผ์ธ ํค์๋๋ก ๊ฐ์ ธ์ฌ ์ ์์ต๋๋ค. ์ ์ ์์ ํ์ผ์ด ๋ ์ ์ ๋ณ์์ ํด๋ฆฌ๋จธ ์ฌ์ฉ์ ์ ์ ์์ฑ ์ฌ์ด์ ์ธํฐํ์ด์คํด์ผํฉ๋๋ค. ๊ทธ๋ฌ๋ ๊ทธ๊ฒ์ด ํด๋ฆฌ๋จธ๊ฐ ์ํ๋ ๋ฐฉ์์ ๋๋ค. ํ์ค์์ ๋ชจ๋ ํธ์ฐจ๋ฅผ ๊ตฌํํ ์๋ ์๋ค๋ ๋ฐ ๋์ํ์ญ์์ค.
์ด๊ฒ์ ๋ค์ ์ดํด๋ณด๊ธฐ ์ํด ๋๋ ๋ถํํ๋ ๋ฌธ์ ์ ๋ฒ์์ ๋ํด ์ข์ ์๊ฐ์ ๊ฐ์ง๊ณ ์๋ค๊ณ ์๊ฐํฉ๋๋ค.
์ฆ, ์, @apply
๋ ์ ์ ์ผ ๋ฟ์ด์ง ๋ง _this_๋ ์๋ชป๋ CSS๊ฐ _ ์๋๋๋ค _. ๋ ์ด์์ ์๋๋๋ค.
paper-drawer-panel {
--paper-drawer-panel-left-drawer: {
background-color: red;
};
}
๋ด ์ค์๋ @apply
๊ฐ ์ฌ์ฉ์ ์ ์ ์์ฑ ๊ตฌ๋ฌธ์ ๋ํ ํ์ฅ์ ์ ์ํ๊ณ ์๋ค๊ณ ์๊ฐํ์ง๋ง ๊ทธ๋ ์ง ์์ต๋๋ค. ์์ _IS_๋ ์ ํจํ ์ฌ์ฉ์ ์ง์ ์์ฑ ๊ฐ์ด๋ฏ๋ก Less ์ง์์ ์ถ๊ฐํด์ผํฉ๋๋ค. ์ฌ์์ ๋ํด ๋ ๊น์ด ํ๊ณ ๋ค ์๊ฐ์ด ์์์ผ๋ฉด ์ข์์ ํ
๋ฐ์. (์ฌ๊ธฐ : https://www.w3.org/TR/css-variables/#syntax.)
Less๋ ์ ํจํ CSS๋ฅผ ์ง์ํ๋ ํต์ฌ ๋ชฉํ๋ฅผ ๊ฐ์ง๊ณ ์์ผ๋ฉฐ ์ฌ์ฉ์ ์ ์ ์์ฑ ๊ตฌ๋ฌธ์ ํ์ฌ ๋ชจ๋ ๋ธ๋ผ์ฐ์ ์์ ์์ ํ ๊ตฌํ๋ฉ๋๋ค. ์ฌ์์ ๋งค์ฐ ๊ด๋ํ๋ฉฐ ์์ฑ ๊ฐ์ด ๊ตฌ๋ฌธ ๋ถ์๋๋ ๋ฐฉ์์ ๋ช ๊ฐ์ง ํฐ ๋ณ๊ฒฝ์ด ํ์ํ ์ ์์ต๋๋ค. ๊ฑฐ์ ๋ชจ๋ ๊ฒ์ ๋ฃ์ ์ ์์ต๋๋ค. ๋น์ ์ด ๊ฐ์ ๊ฐ์ง๊ณ ์ผ๋ง๋ ๋ฏธ์ณค๋์ง ๊ทธ๋ฆฌ๊ณ ๋ธ๋ผ์ฐ์ ๊ฐ ๊ทธ๊ฒ์ ํ์ฉํ ์ง ์ฌ๋ถ๋ ํ์คํ์ง ์์ต๋๋ค. ๊ทธ๋ฌ๋ ์ฌ์์ ์ฝ๋ ๋ฐฉ์์ ์ ๊ตฌ์ฑ๋์ด ์์ผ๋ฉด ๋๋ถ๋ถ ์ ํจํฉ๋๋ค. ์ฆ, "์ต์์"์ธ๋ฏธ์ฝ๋ก ํ ํฐ์ ๋ง๋ ๋๊น์ง ๋ชจ๋ ์ข ๋ฅ์ ํญ๋ชฉ์ ์ค๊ดํธ ๋ ๊ดํธ๋ก ๋ฌถ์ด์ ๋ฏธ์ณ ๋ฒ๋ฆด ์ ์์ต๋๋ค.
์ฆ, Polymer์ ๊ฐ์ JavaScript ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋์ด CSS ๊ธฐ๋ฅ ์ด์ ์๋ ๋ถ๊ฐ๋ฅํ๋ ์ ์ธ์ ์์ฑ / ๊ฐ์ JS์์ ์ฝ์ ์์๋ ๊ณณ์ ๋ฐฐ์นํ๊ธฐ ์ํด CSS๋ฅผ "ํดํน"ํ ๊ฐ๋ฅ์ฑ์ด ์ ์ ๋ ์ปค์ง๊ณ ์์ต๋๋ค.
๊ทธ๋์ ๐ ASAP ๊ตฌํ.
์ด๊ฒ์ด ์ ํจํ ์ฌ์ฉ์ ์ ์ ์์ฑ ๊ตฌ๋ฌธ์ด๋ผ๊ณ ์ง์ ํ๋ ค๋ ์ฌ๋๋ค์๊ฒ ์ฃ์กํฉ๋๋ค.
๋๋ ์ด๊ฒ์ ๋ฒ๊ทธ์ ๊ธฐ๋ฅ ์์ฒญ์ผ๋ก ํ์ํ๊ณ ์๋ค. Less๋ ๋งํ ๊ฒ๋์๊ณ CSS ์์ฒด๋ ์๋ก์ด ๊ธฐ๋ฅ์ ๋๋ค.
์ฌ์ฉ์ ์ง์ ์์ฑ ๊ตฌ๋ฌธ ๋ถ์์ ์ํด Less ํ ์คํธ์ ์ถ๊ฐ ํ ์์๋ ๋ ๋ค๋ฅธ ํ ์คํธ์ ๋๋ค. ์ด๊ฒ์ ์ค๋๋ ์๋ฒฝํ๊ฒ ์ ํจํ CSS์ ๋๋ค.
.test {
--custom-function: () => { let x = 1; window['NAMESPACE'].doSomething(x); };
}
๊ธฐ๋ณธ์ ์ผ๋ก ()
[]
๋๋ {}
์ ์์ผ๋ฉด ์ํ๋ ๋ฌธ์๋ฅผ ๋คํ ํ ์ ์์ต๋๋ค. ๋ฐ๋ผ์ ์ธ๋ฏธ์ฝ๋ก ์ ์์ ์์์ ์ ๋ฌ๋ฉ๋๋ค. ๋ซ๋ ์ธ๋ฏธ์ฝ๋ก ์ ํ
์คํธํ๊ธฐ ์ ์ ์ค๊ดํธ๊ฐ ์ผ์นํ๊ณ ๋ซํ ๋๊น์ง (์ด๋ฆฐ ๊ฒฝ์ฐ) ์ฌ๊ท ์ ๊ตฌ๋ฌธ ๋ถ์์ด ํ์ํฉ๋๋ค.
๋๋ ์ฌ๊ธฐ์ ๊ทธ ์ผ์ ์์ํ์ง๋ง ์ด๊ฒ์ด ์ฌ๋ฐ๋ฅธ์ง ์์ง ํ์คํ์ง ์์ต๋๋ค. https://github.com/less/less.js/blob/edge/lib/less/parser/parser.js#L1326
_ ์ฐธ๊ณ : ์ ์ค์๋ณด๊ณ ํผ๋์ค๋ฌ์ํ๋ ์ฌ๋์ด ์๋์ง ๋ช ํํํ๊ธฐ ์ํด์ด JavaScript๋ ์๋ฌด ์์ ๋ ์ํํ์ง ์์ต๋๋ค. CSS๋ ๊ธธ๊ณ ์๋ ค์ง์ง ์์ ์ต๋ช ๊ฐ์ผ๋ก ๊ฐ์ฃผํฉ๋๋ค ._
๊ธฐ๋ณธ์ ์ผ๋ก () [] ๋๋ {}์ ๋ฌด์ธ๊ฐ๊ฐ ์์ผ๋ฉด ์ํ๋ ๋ชจ๋ ๋ฌธ์๋ฅผ ๋คํ ํ ์ ์์ต๋๋ค.
์? ๋๋ฅผ ์ํด https://www.w3.org/TR/css-variables/#syntax ๋ ๋ชจ๋ ํ ํฐ (์ฌ๊ธฐ์ ๋์ด๋ ๊ฒ์ ์ ์ธํ๊ณ )์ ์ด๋์๋์์ ์ ์์ต๋๋ค (๋ ์ข
๋ฅ์ ๊ดํธ์ ๊ด๊ณ์์ด). ์๋๋ฉด ๋ค๋ฅธ ๋จ๋ฝ์์ ๊ฐ์ ํฉ๋๊น? ์ด๋ค ๋ฌธ์์ ๋ํ ๋ด์ฉ์ด๋ ๊ดํธ ์์ ๊ฐ์ ๋ํ ๊ตฌ์ฒด์ ์ธ ๋ด์ฉ์ ์๋ ค์ฃผ์๊ฒ ์ต๋๊น? (๋ฌผ๋ก url(...)
์ด ์๋๋ผ๋ฉด)?
์ฆ, --var: ?;
, --var: (?);
๋๋ --var: [ยพ];
์ค์ ๋ก ์ ํจํฉ๋๊น?
์ด๊ฒ์ ๋ด๊ฐ ์๋ชป ํด์ ํ ์์๋ ๊ด๋ จ ์น์ ์ ๋๋ค.
์ฌ์ฉ์ ์ง์ ์์ฑ์ ํ์ฉ๋๋ ๊ตฌ๋ฌธ์ ๋งค์ฐ ๊ด๋ํฉ๋๋ค.
<declaration-value>
ํ๋ก๋์ ์ ์ํ์ค์<bad-string-token>
,<bad-url-token>
, ์ผ์นํ์ง ์๋<)-token>
,<]-token>
ํฌํจ๋์ง ์๋ ํ ํ๋ ์ด์์ ํ ํฐ ์ํ์ค์ ์ผ์นํฉ๋๋ค<bad-url-token>
<]-token>
,<}-token>
, ๋๋ ๊ฐ์ด "!"์ธ ์ต์์<semicolon-token>
ํ ํฐ ๋๋<delim-token>
ํ ํฐ.
๋ฐ๋ผ์ ์ค์ํ ๋ด์ฉ์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
์ต์์ ์ธ๋ฏธ์ฝ๋ก ํ ํฐ ๋ง ์ค์ํฉ๋๋ค. "๋ค๋ฅธ ์ผ์น ๋ ์ ๋ด์ ์์ง ์๋ค"๋ ์๋ฏธ๋ก ํด์ํฉ๋๊น? ํ์ง๋ง "์ต์์"๊ฐ ๋ฌด์์ ์๋ฏธํ๋์ง ์๋ชป ํด์ ํ ์ ์์ต๋๋ค.
ํด๋น ํ์ด์ง์ ์ ๊ณต๋ JS ์์ ๊ฐ ์คํด์ ์์ง๊ฐ์์ ์ ์์ต๋๋ค. ( -foo: if(x > 5) this.width = 10;
๋ ์ ํจํฉ๋๋ค.) ๊ทธ๋ฌ๋ ๊ณต๋ฐฑ์ด์๋ =
ํ์คํ ์ผ๋ฐ์ ์ธ CSS ํ ํฐ์ด ์๋๋ฉฐ this.width
๋ ์๋๋๋ค. ๋ช
ํํ์ง ์๊ณ ๋ธ๋ผ์ฐ์ ์์ ํ์ฉ๋๋ ์ค๋ฅ ๋ณต๊ตฌ๊ฐ ์ผ๋ง๋ ํ์ฉ๋๋์ง๋ฅผ ๊ณ ๋ คํ ๋ ํ์ฑ ์ค๋ฅ๋ฅผ ๊ฐ์ ํ ์ ์๋ค๊ณ ์๊ฐํฉ๋๋ค. ์ฐ๋ฆฌ๋ @apply
๊ตฌ๋ฌธ์ด ์ฌ์ฉ์ ์ ์ ์์ฉ ํ๋ก๊ทธ๋จ์ด ์๋๋ผ๋ ์ ํจํ (๊ท์น ์งํฉ๊ณผ ํจ๊ป) ์ ํจํ๋ค๋ ๊ฒ์ _ ์ด๋ฏธ ์๊ณ ์์ต๋๋ค _. ๋ฐ๋ผ์ ์ฌ์ฉ์ ์ง์ ์์ฑ์ {}
๋ด์์ ์ฌ๋ฌ ์ธ๋ฏธ์ฝ๋ก ์ ํ์ฉํ๋ค๋ ๊ฒ์ ์๊ณ ์์ต๋๋ค. ๋ฐ๋ผ์์ด ์ธ์ด๊ฐ ์ผ์นํ๋ ()
, []
, {}
๋ด์์ ํ์ฉ๋๋ ํน์ฑ์ ๋ํด ์์ํ๋ ๊ฒ์ ๋
ผ๋ฆฌ์ ์
๋๋ค. ์ฌ๊ธฐ์ ์ฐ๋ฆฌ๊ฐ ์์ง ๋ชปํ๋ ๊ฒ์ด ๋ง์ด ์์ผ๋ฉฐ, _what_์ด ์ฌ์ฉ์ ์ ์ ์์ฑ์ ๋ค์ด๊ฐ ์ ์๋ค๋ ๊ฒ์ ์์ง ๋ชปํ ์ฑ ํน์ ๊ตฌ์กฐ๋ฅผ ๋ฐ๋ฅด๋ ํ ( "์ํ์ค๊ฐ <bad-string-token>
, <bad-url-token>
, ์ผ์นํ์ง ์๋ <)-token>
, <]-token>
๋๋ <}-token>
")๋ฅผ ํฌํจํ๊ณ ํด๋น ์์ฑ์ ๋ธ๋ผ์ฐ์ ์ ์ ๋ฌํฉ๋๋ค. ์ฌ๊ธฐ์ ์๋๋ ์ฑ๊ณต์ ์ธ ๊ตฌ๋ฌธ ๋ถ์์์ํ ์ต์ํ์ ์๊ตฌ ์ฌํญ์ ๋ง๋๋ ๋์์ ๊ฐ๋ฐ์๋ฅผ์ํ ์ต๋์ ์ ์ฐ์ฑ์ ๋ง๋๋ ๊ฒ์
๋๋ค.
๋ฐ๋ผ์์ด ์์ ์ ์ํ ํ ์ ์์ต๋๋ค.
.bar {
--foo: {;
--baz: ";
}
... ๊ตฌ๋ฌธ์ ์ฌ๋ฌ ์ธ๋ฏธ์ฝ๋ก ์ ํฌํจํ์ฌ ๋ฌด์์ด๋ ๋ฃ์ ์ ์๋๋ก ํ์ฉํ๊ธฐ๋ฅผ ์ํ์ง๋ง ์์ ์ด ์๋ฃ๋๋ฉด ์ ์ ์๊ธฐ๋ฅผ ์ํ๊ธฐ ๋๋ฌธ์ ๋๋ค. ์ฌ๊ธฐ์ ์ผ์นํ๋ ๋ฐ์ดํ / ์ค๊ดํธ / ๊ดํธ / ๊ดํธ๊ฐ ์๋ํฉ๋๋ค. ์ด๋ค ์ ์ผ๋ก๋ ๊ตฌ๋ฌธ์ "์ข ๋ฃ"ํ๋ค๊ณ ํ์ ํ ์์๋ ํ, ์ฌ๊ธฐ์ ์๋๋ ํด๋น ๊ตฌ๋ฌธ ๋ด์์ ์ํ๋ ๊ฒ์ ์ํ ํ ์ ์๋ค๋ ๊ฒ์ ๋๋ค.
์ด๊ฒ์ ๊ดํด์ :
--var :?;, --var : (?); ๋๋ --var : [ยพ]; ์ ํจํ?
๋ชจ๋ฅด๊ฒ ์ด์.
์ ํจํ ๊ฒ์ผ๋ก ์ทจ๊ธํด์ผํฉ๋๊น? IMO ์. ์๋ํ๋ฉด ์ฐ๋ฆฌ๋ ์์ง ๋ชปํ๊ธฐ ๋๋ฌธ์ ๋๋ค. ๊ทธ๋ฌ๋ ์ฐ๋ฆฌ๋ ํฐ ๋ฌธ์ ์์ด ์ฑ๊ณต์ ์ผ๋ก ํ์ฑ ํ ์ ์์ต๋๋ค.
๊ฐ๋ฅํ ๊ตฌํ์ ๊ดํด์๋ ... ;
๊น์ง ์๋ฌด๊ฒ๋ ํ์ฉํ์ง ์๋ ๊ฒ์ด ํฐ ๋ฌธ์ ๋ ์๋์ง๋ง ์ ์ด๋ ๋ฌธ์์ด, URL ๋ฐ ์ค์ฒฉ ๋ {}
( ;
ํฌํจ ํ ์ ์์ผ๋ฏ๋ก)์ ์ฒ๋ฆฌํด์ผํฉ๋๋ค. Less ์ฝ๋๊ฐ ์๋ค๋ ๊ฒ์ ์๋ฏธํฉ๋๋ค.
ํ ๋จ๊ณ ๋ ๋์๊ฐ์ (ํ์ฑ ๋จ๊ณ์์) ์ผ์ข
์ DR (์ธ๋ถ {}
์ ์ธ)์ ํ์ฉํ๊ณ ๋ ๋ง์ ํ ํฐ์ ํ์ฉํ๋ ๊ฒ์ผ๋ก ์ฒ๋ฆฌํ๋ ๊ฒ์
๋๋ค. t --var: (1 > 2) / {whatever} foo;
์ ๊ฐ์ ์ฉ๋๋ก DR ํ์๋ฅผ ์ฌ์ฌ์ฉํฉ๋๋ค.)
๊ทธ๋ฆฌ๊ณ ๋ง์ง๋ง์ผ๋ก ๋ ํธ๋ฆฌํ ๊ฒ์ ์ํด ์์งํ ์๋ฌด๊ฒ๋ ๋ณผ ์ ์์ง๋ง Less ๊ธฐ๋ฅ (ํ ํฐ๊ณผ ๊ทธ ํ๊ฐ)์ด ํ์ฉ๋๋ ์์ ํ ๊ธฐ๋ฅ์ ๊ฐ์ถ CSS ํ ํฐ์ ์์ฑํ๋ ๊ฒ ์ธ์๋ ๋ณผ ์ ์์ต๋๋ค. ๋ค๋ฅธ ๋ง๋กํ๋ฉด biiiiiiiig ๋ฌธ์ :(
์ต์์ ์ธ๋ฏธ์ฝ๋ก ํ ํฐ ๋ง ์ค์ํฉ๋๋ค. "๋ค๋ฅธ ์ผ์น ๋ ์ ๋ด์ ์์ง ์๋ค"๋ ์๋ฏธ๋ก ํด์ํฉ๋๊น? ํ์ง๋ง "์ต์์"๊ฐ ๋ฌด์์ ์๋ฏธํ๋์ง ์๋ชป ํด์ ํ ์ ์์ต๋๋ค.
์, ;
์ข
๋ฃ์ ๊ดํ ๊ฒ์
๋๋ค. ์ฆ, --var: ";" url(;) {;};
๋ ์ ํจํ๊ณ --var: ; {} foo;
--var: ";" url(;) {;};
๋ ์ ํจํ์ง ์์ต๋๋ค ( "์ต์์ ์์ค"์ด๋๋ ์ฒซ ๋ฒ์งธ ;
๋ ๋ฌธ์ ์ข
๋ฃํฉ๋๋ค).
ํ์ง๋ง (;)
์ ๋ํด์๋ ์ ๋ชจ๋ฅด๊ฒ ์ต๋๋ค.
๋ถ๋ช ํ ์ด๊ฒ์ Less ์ฝ๋๊ฐ ์๋ค๋ ๊ฒ์ ์๋ฏธํฉ๋๋ค.
๋ด ์ ์ผํ ์๊ฐ์ ์ฌ์ฉ์ ์ ์ ์์ฑ์ ์์ฑํ๋ ค๋ ๊ฒฝ์ฐ ๋ณด๊ฐ ๊ตฌ๋ฌธ์ ํ์ฉ ํ ์ ์๋ค๋ ๊ฒ์ ๋๋ค. ํ์ง๋ง ์๋ง๋ ๊ทธ๊ฒ์ ์ผ์ข ์ "๊ด์ฌ์ด ์๋ค๋ฉด 2 ๋ผ์ด๋"์ ๊ฐ์ ์์ด๋์ด ์ผ ๊ฒ์ ๋๋ค.
๊ทธ๋๋ (;)์ ๋ํด์๋ ์ ๋ชจ๋ฅด๊ฒ ์ต๋๋ค.
๋๋ ์๋์ผ? ์ฌ์์๋ ์ข
์ข
ํ ํฐ ๊ฒฝ๋ก ๋ค์ด์ด๊ทธ๋จ๊ณผ ๊ฐ์ ๊ตฌ๋ฌธ ๋ถ์ ์ธ๋ถ ์ ๋ณด๊ฐ ์ด๋๊ฐ์ ๊ฒ์๋์ด ์๋ค๊ณ ์๊ฐํ์ง๋ง์ด ๊ฒฝ์ฐ์ ์กด์ฌํ๋์ง ํ์คํ์ง ์์ต๋๋ค. 1 ๋จ๊ณ๋ก- {}
, ()
, ๋ฐ์ดํ ๋ฐ ๋ฐ์ดํ ๋ง ์ผ์น์ํค๊ณ ์ต์์ ;
๊ด์ฐฎ์ ๋ณด์ผ ๋๊น์ง ์ต๋ช
๋
ธ๋์ ์๋ฌด๊ฒ๋ ๋คํํ๋ฉด๋ฉ๋๋ค. ์ผ์นํ๋ ๋๊ดํธ []
๋ ํ์ํ์ง ์์ ์ ์์ง๋ง ์ธ๊ธ๋์ด ์์ผ๋ฉฐ ๋ค๋ฅธ ๋ชจ๋ ๋ถ๋ถ์ด ์์ผ๋ฉด ์๋นํ ์ฌ์ํฉ๋๋ค.
ํน๋ณํ ํ ํฐํํ ํ์๊ฐ ์๋ค๊ณ ์๊ฐํฉ๋๋ค. ๋๋ DR๊ณผ ํผํฉ ํ ํ์๊ฐ ์์ต๋๋ค. ๊ฒฐ๊ตญ ๋๊ตฐ๊ฐ๋ ๋ค์๊ณผ ๊ฐ์ด ๋๋ ์ ์์ต๋๋ค.
.weird {
--php: ($x = 5 /* + 15 */ + 5; echo $x;);
--example: [My DR will be --this: {
blah: nope;
--never mind i gave up;
no wait here it --is: {
lol: cats;
}
}];
}
์ฆ, Less๊ฐ ์ฌ์ฉ์ ์ง์ ์์ฑ์ ๋ด์ฉ์ ๋ค๋ฃฐ ๋ ์์ ๊นจ๋์ด ๋ฆ๋ ๊ฒ์ด ๋ ๋ซ์ต๋๋ค.
๋ํ Less ํ๋ฌ๊ทธ์ธ ์์ฑ์๊ฐ ์กฐ๊ฐ์ ๊ฐ์ ธ์ Less ํ์๋ฅผ ํตํด ์ผ์นํ๋ ์ฌ์ฉ์ ์ง์ ์์ฑ์ ๋ค์ ์ ์กํ์ฌ ์ ๋ ธ๋๋ฅผ ๋ง๋๋ ๋ฐฉ๋ฌธ์ ํ๋ฌ๊ทธ์ธ์ ์์ฑํ๋ ๊ฒ์ด ๊ธฐ์ ์ ์ผ๋ก ๊ฐ๋ฅํฉ๋๋ค. ์ฐ๋ฆฌ๊ฐํด์ผ ํ ์ผ์ ๋ด์ฉ์ ๊ท์น ๋ ธ๋์ ๋คํํ๊ณ ๊ท์น์ ์ฌ์ฉ์ ์ง์ ์์ฑ์ผ๋ก ํ์ ํ ๋ค์ ์ถ๋ ฅ์ ์ถฉ์คํ๊ฒ ๋คํํ๋ ๊ฒ๋ฟ์ ๋๋ค.
์์ ์๋ฅผ ์์ ํ๋ฉด ์ ํจํ์ง ์์ ๊ฒ์ผ๋ก ๊ฐ์ฃผ๋์ด์ผํฉ๋๋ค.
.weird {
--example: [My DR will be --this: {
blah: nope;
--never mind i gave up;
no wait here it --is: {
lol: cats;
// missing matching }
}];
}
"No Less ์ฝ๋"
์๋ง๋ ์ด๊ฒ์ ๋ค์ด ๊ทธ๋ ์ด๋๋ฅผ ์๋ฏธํฉ๋๋ค. ์ง๊ธ์ฒ๋ผ ๋ค์๊ณผ ๊ฐ์ด ์์ฑํ ์ ์์ต๋๋ค.
--var: darken(red, 5%) + 1;
๊ทธ๋ฆฌ๊ณ ๊ทธ๊ฒ์ ์๋ํ์ง๋ง ( --fortran: read (*, *, iostat=ierr) radius, height;
) ์๋ํ์ง ์์ต๋๋ค :(
์๋ง๋ ์ด๊ฒ์ ๋ํ ์ต์
์ ๊ฐ์ง ์ ์์ต๋๋ค ( --oh-no-yet-another-option-for-custom-properties-to-be-parsed-one-way-or-another: on
:)
์๋ง๋ ์ด๊ฒ์ ๋ค์ด ๊ทธ๋ ์ด๋๋ฅผ ์๋ฏธํฉ๋๋ค-์ง๊ธ์ฒ๋ผ --var : darken (red, 5 %); ๊ทธ๋ฆฌ๊ณ ๊ทธ๊ฒ์ ์๋ํ์ง๋ง (--fortran์ ์ํด : read (*, *, iostat = ierr) radius, height;)ํ์ง ์์ต๋๋ค :(
๐ค ๊ธ์ ..... ๋ค, ๋ฌด์จ ๋ง์ธ์ง ์ ๊ฒ ์ด์. ๊ทธ๋์ ์ด๋ค ์ข ๋ฅ์ ๋ณด๊ฐ์ด ํ์ํ ์๋ ์์ต๋๋ค. ์ฐ๋ฆฌ๋ ๊ธฐ๋ณธ์ ์ผ๋ก ํ์์์ ๋ค์๊ณผ ๊ฐ์ด ์ฒ๋ฆฌ ํ ์ โโ์์ต๋๋ค.
<strong i="8">@iostat</strong>: ierr;
--fortran: read (*, *, iostat=@{iostat}) radius, height;
// treat similar to:
--fortran: ~"read (*, *, iostat=@{iostat}) radius, height";
(์ ์ ํ ๋งค์นญ ํ ํฐ์ ๋ํ ์์ ์ธ๊ธ ํ์ฃผ์ ์ฌํญ์ด ์์ต๋๊น?)
๋ด ๋ง์ .... ๋์์ ๋ณธ์ง์ ์ผ๋ก ์ด์ค์ผ์ดํ ๊ตฌ๋ฌธ์ ๊ถ์ฅํ๋ค๋ ๊ฒ์ ๋๋ค. ๋ด๋ถ CSS ์ฝ๋๋ฅผ ์ ๊ฒ ์์ ํ๋ ๊ฒ์ด ์ข์ต๋๋ค.
์, ๋ณด๊ฐ์ด ํธ๋ฆญ์ ์ํํฉ๋๋ค. ์คํ์ ์ต์
์ผ๋ก DR-ike ๊ตฌ๋ฌธ ๋ถ์์ ์ฌ์ ํ ์ข์ ๊ฒ ๊ฐ์ง๋ง (์ ์ด๋ ์ฌ์ฉ์ ์ ์ ์์ฑ ํดํน์ด ๋๋ฆฌ ํผ์ง ๋๊น์ง ๋ง์ ์ฌ๋๋ค์ด ๊ฐ์ --javascript: 1 = 2;
๋ณด๋ค ์ค์ --var: darken(red, 5%);
๋ฅผ ์ ํธ ํ ๊ฒ์ด๋ผ๊ณ ํ์ ํฉ๋๋ค. )
์ฆ, ๋๋ ๋ ๊ฐ์ง ๋ฐฉ๋ฒ (๋ณ๋ ๋๋ ๋์์)์ผ๋ก ๊ด์ฐฎ์ต๋๋ค.
๋๋ ์ด๊ฒ์ ๋ํ ์๋นํ ๊ฐ๋ ฅํ ๊ตฌํ / ์๋ฃจ์ ์ ๊ฐ์ง๊ณ ์๋ค๊ณ ์๊ฐํฉ๋๋ค. ์ด ์ค๋ ๋์ ์ฌ๋ฌ ์ฝ๋ ์์ ๋ฅผ ํ ์คํธ์ ์ฌ์ฉํ์ต๋๋ค. ๋ฐ๋ผ์ ์ฌ์ฉ์ ์ง์ ์์ฑ ๊ฐ๊ณผ ์ ์์๋ at- ๊ท์น์ ๋ณด๊ฐ์ ํ์ฉํ๊ธฐ ์ํด ๋ณธ์ง์ ์ผ๋ก ์ด์ค์ผ์ดํ ๋ ๋ฐ์ดํ ๊ฐ์ผ๋ก ์ฒ๋ฆฌ๋ฉ๋๋ค. # 3213์ ํ์ธํ์ญ์์ค.
๊ฒฐ์ ๋.
๊ฐ์ฅ ์ ์ฉํ ๋๊ธ
์ด์ ๋ํ ์ฌ์์ด ์์ต๋๋ค. ํด๋ฆฌ ํ์ด ์กด์ฌํฉ๋๋ค. Chrome์์ ๊ตฌํํ์ต๋๋ค. Polymer๋ ์ด๋ฏธ 1.0 ๋ฆด๋ฆฌ์ค์์ ์ฌ์ฉํ๊ณ ์์ต๋๋ค. ์น ์ฌ์ดํธ๋ ์ด๋ฏธ Polymer๋ฅผ ์ฌ์ฉํ๊ณ ์์ต๋๋ค.
Less๊ฐ ์ต์ํ์ ์์ค์์ ๊ตฌ๋ฌธ์ ์ง์ํ๋ ๊ฒ์ด ์๋ฒฝํ๊ฒ ํฉ๋ฆฌ์ ์ธ ๊ธฐ๋๋ผ๊ณ ์๊ฐํฉ๋๋ค.
์ ์
@apply
์ด๋ฏธ--foo: bar;
๋ฐvar(--foo)
ํต๊ณผํฉ๋๋ค. ๋น ์ง ์ ์ผํ ๊ฒ์ Less๊ฐ--foo: { property: value; }
์{ ... }
๋ฅผ ํต๊ณผํ๋ ๊ฒ์ ๋๋ค. ๋ค๋ฅธ CSS ๋ธ๋ก์ ์ฃผ์ด์ง ๊ฒ๊ณผ ๋์ผํ ๊ธฐ๋ณธ ์ฒ๋ฆฌ๋ฅผ ์ฌ์ฉํฉ๋๋ค. ํ๋ ์คํฑ์ ๋๋ฌํ๊ณ ๊ตฌ๋ฌธ ๋ถ์ ์ค๋ฅ๋ฅผ ๋์ง๋ ๋์ .