๋ค์ ์ฝ๋ :
foo {
-webkit-filter: grayscale(100%);
}
sass 3.2.10์์ ๊ฒฐ๊ณผ๋ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
foo {
-webkit-filter: grayscale(100%); }
๊ทธ๋ฌ๋ libsass ๋ง์คํฐ (ํ์ฌ 4dd61de67aa0284cd8da1e8f13e2f6b63b990041)๋ฅผ ์ฌ์ฉํ๋ ๋ค์ :
/private/tmp/test/grayscale.scss:2: error: argument `$color` of `grayscale($color)` must be a color
Backtrace:
/private/tmp/test/grayscale.scss:2, in function `grayscale`
/private/tmp/test/grayscale.scss:2
์ด๊ฒ์ ๋ด์ฅ ๋ ๊ทธ๋ ์ด ์ค์ผ์ผ ๊ธฐ๋ฅ๊ณผ ์ถฉ๋ํ๋ ๊ฒ ๊ฐ์ต๋๋ค.
๋ค, ๋๋ ์ด๊ฑธ ์ณค์ด์.
์ด๊ฒ๋ ์น๋ ๊ฒ.
: +1 :
์ด๊ฒ์ ๋ํ ์์์ด ์์ต๋๊น?
ํ์ฌ @extend
์์
์ค์ด์ง๋ง ํด์ผ ์ ์์ด ์์
์ ์ํํ๋ ค๊ณ ํฉ๋๋ค!
์ด ๋ฌธ์ ๋ ์์ต๋๋ค.
: +1 :
darken()
๋ฐ saturate()
๋ ์ํฅ์ ๋ฐ๋์ง ํ์ธํฉ๋๋ค. ํด๊ฒฐ ๋ฐฉ๋ฒ์ด ์์ต๋๊น?
ํด๊ฒฐ ๋ฐฉ๋ฒ์ ์ฐพ์์ต๋๋ค. ๊ทธ ๋์์ด ๊ธฐ๋ฅ์ ์ฌ์ฉํ ์ ์์ต๋๋ค. ๋๋กญ ์ธ ์๋ฃจ์ ์ด์ด์ผํฉ๋๋ค.
<strong i="6">@function</strong> grayscale($value) {
<strong i="7">@return</strong> #{ "grayscale(" + $value + ")" };
}
์ํ๋ ๊ฒฝ์ฐ ๊ณต๊ธ ์ ์ฒด ์ ๋์ฌ๋ ์ง์ ํ ์ ์์ต๋๋ค.
<strong i="11">@mixin</strong> filter($properties) {
// Your vendor prefixing stuff here, I am using Bourbon:
<strong i="12">@include</strong> prefixer(filter, $properties, webkit moz spec);
}
๊ทธ๋ฐ ๋ค์ ๋ค์๊ณผ ๊ฐ์ด ์์ฑํ ์ ์์ต๋๋ค.
<strong i="16">@include</strong> filter(grayscale(100%));
์ฌ๊ธฐ์ ์ฐธ๊ณ ์ฉ์ผ๋ก ๋ฃ์ผ์ญ์์ค.
https://developer.mozilla.org/en-US/docs/Web/CSS/filter
@kennethormandy ๋ ๊ฐ์ ๋งค๊ฐ ๋ณ์๋ฅผ ์ฌ์ฉํ๋ SASS ํจ์์ ๋ํ ํด๊ฒฐ ๋ฐฉ๋ฒ์ ์ฐพ์์ต๋๊น?
<strong i="7">@function</strong> darken($color, $amount) {
<strong i="8">@return</strong> #{ "darken(" + $color + "," + $amount ")" };
}
.selector {
border: 1px solid darken(#f0f1f4, 3);
}
์ถ๋ ฅ :
border: 1px solid darken(#f0f1f4,3"");
โฆํ์ง๋ง ์ค์ ๋ก darken
์ถ๋ ฅํด์๋ ์๋ฉ๋๋ค. ์์ ํ ์๋ก์ด ์์ ๊ฐ์ด์ด์ผํฉ๋๋ค.
์, @restlessdesign , ์ฌ์ฉ์ ์ ์ ํจ์๋ฅผ ์ ๊ฑฐํ๋ฉด darken()
์ด (๊ฐ) ์๋ํ์ง ์๋์ง ๋ชฐ๋์ต๋๋ค.darken()
์ด๋ฏธ ์๋ํฉ๋๋ค. ๋ฐ๋ผ์ ๋ค์๊ณผ ๊ฐ์ด ์์ฑํ์ญ์์ค.
.selector {
border: 1px solid darken(#f0f1f4, 3);
}
๊ทธ๋ฆฌ๊ณ ๋น์ ์ ์ป์ ๊ฒ์ด๋ค
.selector {
border:1px solid #e7e9ee;
}
๋๋ ๋น์ ์ด (์ดํดํ ๋งํ๊ฒ) Sass์ ๊ธฐ๋ฅ์ CSS ํํฐ์ ํผํฉํ๊ณ ์๋ค๊ณ ์๊ฐํฉ๋๋ค. ๋ด๊ฐ ์ค ์์ ๋ CSS Filter ์ด๊ธฐ ๋๋ฌธ์ ์๋ํฉ๋๋ค. Sass์ ์ด๋ก๊ฒ ๋๋ ํฌํ ์ํ๋ฅผ ์ฌ์ฉํ๋ ค๋ ๊ฒฝ์ฐ Sass ๋ฌธ์์ ๋ฐ๋ผ ์ด๋ฏธ ์๋ํฉ๋๋ค. CSS ํํฐ ํฌํ๋ฅผ ์ฌ์ฉํ๋ ค๋ฉด ๋ด greyscale()
ํจ์๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ์ฌ๋ฐ๋ฅธ ๋ฐฉํฅ์ผ๋ก ๊ฐ๊ณ ์๋ ๊ฒ์
๋๋ค. CSS darken()
ํํฐ๊ฐ ์์ผ๋ฏ๋ก ์ค์ ๋ก libsass์ ๋ด์ฅ ์ด๋ก๊ฒ ๊ธฐ๋ฅ์ ์ง๊ธ ๋ฎ์ด ์ฐ๊ณ ์์ต๋๋ค.
๋ด ์ค์. ๋๋ ์ค์ฒฉ ๋ฐฉ๋ฒ, ๊ทธ๋ฆฌ๊ณ ์ ํ adjust_hue
๋์ adjust-hue
๋ก ์บ์ค์ผ์ด๋ํ๋ darken()
. ์์ธํ์ง๋ง LibSass๊ฐ ์ค์ ๋ก ์ค๋ฅ๋ฅผ๋ณด๊ณ ํ๊ฑฐ๋ ์กฐ์ฉํ ํธ์ถ์ ๋ฌด์ํ๋ ๋์ ์๋ชป๋ ์ถ๋ ฅ์ ์ ๊ณตํ๋ค๋ ์ ์ด ๋ง์์ ๋ญ๋๋ค! ์๋ชป๋ ๊ฒฝ๋ณด๋ก ์ฃ์กํฉ๋๋ค.
+1
ํด๊ฒฐ ๋ฐฉ๋ฒ์ด ์ ์๋ํ์ง๋ง (@kennethormandy์๊ฒ ๊ฐ์ฌ๋๋ฆฝ๋๋ค) ๊ณ ์ณ์ง๋ฉด ์ข์ ๊ฒ์
๋๋ค.
์ด๊ฒ์ ๋ํ ์์์ด ์์ต๋๊น? ์๋ํ์ง๋ง ์์ ์ ๊ณต๋ ํด๊ฒฐ ๋ฐฉ๋ฒ์ผ๋ก ์ฝ๋๋ฅผ ๋๋ ํํ์ง ์๋ ๊ฒ์ด ์ ๋ง ์ข์ ๊ฒ์ ๋๋ค.
์ ํด๊ฒฐ์ฑ ์ ์ฐพ๊ณ =)
+1
+1
+1
ํด๊ฒฐ ๋ฐฉ๋ฒ์ ์ํด @kennethormandy ์๊ฒ ๊ฐ์ฌ๋๋ฆฝ๋๋ค.
+1. ๊ทธ๊ฑด ๊ทธ๋ ๊ณ : ์๋ฃจ์ ์ ๋ํด @kennethormandy ์๊ฒ ๊ฐ์ฌ๋๋ฆฝ๋๋ค.
์ด๊ฒ์ ๋ํ ๋ฌธ์ ๋ ๋ฐฉ๊ธ ์ด๊ณ ๋ซ์์ต๋๋ค. ๊ฒน์น๋ ๊ตฌ๋ฌธ๊ณผ ๊ฐ์ ๊ธฐ๋ฅ์ ์ ์ ๋ ๋ง์ด ์ฌ์ฉํ๊ธฐ ์ํด CSS์ ๊ทผ๋ณธ์ ์ธ ๋ณํ๊ฐ ์๊ธฐ ๋๋ฌธ์ ์ด๊ฒ์ ์ ๋ฆฌํ๋ ๊ฒ์ด ์ข์ ๊ฒ์ ๋๋ค.
์ @kennethormandy , ํด๊ฒฐ ๋ฐฉ๋ฒ ์์ด๋์ด์ ๊ฐ์ฌ๋๋ฆฝ๋๋ค.ํ์ง๋ง ๊ทธ๋ ๊ฒ ํ ๋ ์ค์ grayscale()
ํจ์๋ฅผ ์ข
๋ฃํ๋ฉด ๋์ฐํฉ๋๋ค! ๋๋ ์ด๊ฒ์ ๋ํ ์ง์ ํ ์์ ์ด ๊ณง ์ฌ๊ธฐ๋ฅผ ๋ฐ๋๋๋ค.
๋ค๋ฅธ ํด๊ฒฐ ๋ฐฉ๋ฒ : filter: invert()
๋์ filter: #{"invert()"}
. ๋ฐ์ดํ ์์ ์ํ๋ ๊ฒ์ ๋ฃ์ ์ ์์ผ๋ฉฐ ๊ทธ๋๋ก ์ถ๋ ฅ๋ฉ๋๋ค.
์ข์, ์ฐ๋ฆฌ๊ฐ 3.0์์ ์ด๊ฒ์ ์ป์ ์ ์๋์ง ๋ณด์.
@tamlyn ๊ฐ์ฌํฉ๋๋ค! ๋๋ Scout.app์ ์ฌ์ฉํด ์๋๋ฐ, ์ด๊ฒ์ ์ฌ์ ํ โโ์ด์ ๋ฒ์ ์ Sass์ ์๊ธฐ ๋๋ฌธ์, ๋น์ ์ ํด๊ฒฐ ๋ฐฉ๋ฒ์ ์ค์ ๋ก ์๋ํ๋ ๋น ๋ฅด๊ณ ๊ฐ๋จํ ์๋ฃจ์ ์ ๋๋ค.
@ ํจ์ ํํฐ ($ filter, $ value) {
@return # {$ filter} # { "("+ $ value + ")"}
}
$ ์ ๋์ฌ :
"-์นํท-",
"-moz-",
"-ms-",
"-์ํ-",
์๋;
@mixin ์ ๋์ฌ ($ property, $ value) {
$ prefixes {์ @each $ prefix
# {$ prefix} # {$ property} : $ value;
}
}
@restlessdesign ์๋ ํ์ธ์ ์ฌ๋ฌ๋ถ, ์ ๋ ์ด๊ฒ์ ๋งค์ฐ ๋ฆ๊ฒ ์๊ณ ์์ต๋๋ค.ํ์ง๋ง ๋ฐฉ๊ธ์ด ๋ฌธ์ ๊ฐ ๋ฐ์ํ์ผ๋ฉฐ ํด๊ฒฐ ๋ฐฉ๋ฒ์ ํํฐ ํจ์๋ฅผ ์ธ์ฉ ํ ๋ค์ unquote ()๋ฅผ ์ฌ์ฉํ๋ ๊ฒ์ ๋๋ค.
๊ทธ๋์ ๋ค์๊ณผ ๊ฐ์ด ์ผ์ต๋๋ค.
* {
filter: unquote("filter-function(values)")
}
๊ทธ๋ฆฌ๊ณ ์ถ๋ ฅ์ด ์๋ํฉ๋๋ค.
๊ฐ์ฅ ์ ์ฉํ ๋๊ธ
๋ค๋ฅธ ํด๊ฒฐ ๋ฐฉ๋ฒ :
filter: invert()
๋์filter: #{"invert()"}
. ๋ฐ์ดํ ์์ ์ํ๋ ๊ฒ์ ๋ฃ์ ์ ์์ผ๋ฉฐ ๊ทธ๋๋ก ์ถ๋ ฅ๋ฉ๋๋ค.