TIL : CSS Filter
728x90

Today, What I learned?

๋ณธ๊ฒฉ์ ์œผ๋กœ ๋ฏธ๋‹ˆ ํ”„๋กœ์ ํŠธ๋ฅผ ์‹œ์ž‘ํ•˜๋ฉด์„œ ๋งˆํฌ์—…๊ณผ CSS ์ž‘์—…์„ ๋จผ์ € ์ง„ํ–‰ํ–ˆ๋‹ค.

๋ฉ”์ธ ํŽ˜์ด์ง€๋ฅผ ์ž‘์—…ํ•˜๋‹ค๊ฐ€ ์ƒˆ๋กญ๊ฒŒ ์•Œ๊ฒŒ ๋œ CSS Filter์— ๋Œ€ํ•ด์„œ ์ •๋ฆฌํ•ด๋ณธ๋‹ค.

 

 

CSS Filter

์•„๋ž˜์ฒ˜๋Ÿผ ์ด๋ฏธ์ง€์— ๋งˆ์šฐ์Šค hover์‹œ์— ์ด๋ฏธ์ง€๊ฐ€ ์–ด๋‘์›Œ์ง€๋ฉฐ ์ด๋ฆ„์ด ๋ณด์ด๋Š” ๋ถ€๋ถ„์„ ์งœ๋‹ค๊ฐ€ Filter๋ผ๋Š” ์ƒˆ๋กœ์šด CSS ์†์„ฑ์„ ์•Œ๊ฒŒ ๋˜์—ˆ๋‹ค.

๊ท€์—ฌ์šด ๋ฏธ๋‹ˆ๋‹ˆ(์š”์ฆ˜ ๊ฝ‚ํž˜)๋“ค์„ ์ž„์‹œ ์ด๋ฏธ์ง€๋กœ ๋„ฃ์—ˆ๋‹ค

 

filter๋Š” ๋ง ๊ทธ๋Œ€๋กœ ์‚ฌ์ง„์— ์ ์šฉํ•˜๋Š” ํ•„ํ„ฐ ํšจ๊ณผ๋“ค๊ณผ ๋น„์Šทํ•œ ์—ญํ• ์„ ํ•œ๋‹ค.

ํ๋ฆผ ํšจ๊ณผ๋‚˜ ์ƒ‰์ƒ ๋“ฑ์˜ ๊ทธ๋ž˜ํ”ฝ ํšจ๊ณผ๋ฅผ ์š”์†Œ์— ์ ์šฉํ•  ์ˆ˜ ์žˆ๊ณ , svg ํ•„ํ„ฐ๋„ ์ ์šฉ์ด ๊ฐ€๋Šฅํ•˜๋‹ค.

 

Filter ์†์„ฑ ๋‚ด๋ถ€ ํ•จ์ˆ˜๋“ค

filter ์†์„ฑ ๋‚ด๋ถ€์˜ ํ•จ์ˆ˜๋“ค์€ ๋Œ€ํ‘œ์ ์œผ๋กœ ์ด๋Ÿฐ ๊ฒƒ๋“ค์ด ์žˆ๋‹ค.

filter: blur(5px); // ํ๋ฆผ ํšจ๊ณผ
filter: brightness(0.4); // ๋ฐ๊ธฐ 
filter: contrast(200%); // ๋Œ€๋น„
filter: drop-shadow(16px 16px 20px blue); // ๊ทธ๋ฆผ์ž
filter: grayscale(50%); // ํ‘๋ฐฑ
filter: hue-rotate(90deg); // ์ƒ‰์กฐ ํšŒ์ „
filter: invert(75%); // ์ƒ‰ ๋ฐ˜์ „
filter: opacity(25%); // ๋ถˆํˆฌ๋ช…๋„ ์„ค์ •
filter: saturate(30%); // ์ฑ„๋„ ๋ณ€๊ฒฝ
filter: sepia(60%); // ์„ธํ”ผ์•„ ๋ณ€ํ™˜

 

.team_list_item:hover > a > img{
  filter: brightness(0.5);
  transition: filter 300ms ease-in-out;
}

์œ„์˜ ์ฝ”๋“œ๋Š” ์ฒซ๋ฒˆ์งธ ์ด๋ฏธ์ง€์— ์ ์šฉ๋œ ์ฝ”๋“œ. brightness๊ฐ€ ์ ์šฉ๋˜์–ด ์žˆ๋‹ค.

์ด ์ฝ”๋“œ์— ์œ„ ํ•จ์ˆ˜๋“ค ์ค‘ ๋ช‡ ๊ฐ€์ง€๋งŒ ์ ์šฉํ•ด๋ณด์•˜๋‹ค.

 

 

1) hue-rotate  2)blur  3) invert (๊ฐ‘์ž‘์Šค๋Ÿฌ์šด ํ˜ธ๋Ÿฌํ–‰..) 4) saturate

์™ผ์ชฝ๋ถ€ํ„ฐ ์‹œ๊ณ„๋ฐฉํ–ฅ๋Œ€๋กœ hue-rotate, blur, invert, saturate ์ˆœ์„œ๋‹ค.

 

 

blur๋‚˜ brightness ๋“ฑ ๋ช‡๋ช‡ ํšจ๊ณผ๋“ค์€ ์ƒ๊ฐ๋ณด๋‹ค ์œ ์šฉํ•˜๊ฒŒ ์ž˜ ์“ฐ์ผ ๊ฒƒ ๊ฐ™๋‹ค.

๊ทธ๋Ÿผ ์›น ๋ธŒ๋ผ์šฐ์ € ํ˜ธํ™˜์„ฑ์€ ์–ด๋–ค์ง€ Can I use์—์„œ ์ฐพ์•„๋ณด์•˜๋‹ค.

 

Filter์˜ ์›น๋ธŒ๋ผ์šฐ์ € ํ˜ธํ™˜์„ฑ

can I use ์—์„œ ์ฐพ์•„๋ณธ filter

๊ทธ๋ ‡๊ฒŒ ์ข‹๋‹ค๊ณ  ํ•  ์ˆ˜๋Š” ์—†๋Š” ๋“ฏํ•˜๋‹ค.. ์ผ๋‹จ IE์—์„œ ์ง€์›์ด ์•„์˜ˆ ์•ˆ๋œ๋‹ค. (๋ฌผ๋ก  IE๋Š” ๋” ์ด์ƒ์˜ ์ง€์›์ด ๋Š๊ธฐ๊ธด ํ•จ)

 

์ข€ ๋” ์ƒ์„ธํ•œ ๋‚ด์šฉ์€ ์•„๋ž˜ mdn์„ ์ฐธ๊ณ ํ•ด๋ณด์ž! (์–ด์ฉ ์ผ์ธ์ง€ ์ด๋ฏธ์ง€ ์—‘๋ฐ•์ด ๋งŽ์€ ํŽธ)

https://developer.mozilla.org/ko/docs/Web/CSS/filter

 

filter - CSS: Cascading Style Sheets | MDN

CSS filter ์†์„ฑ์€ ํ๋ฆผ ํšจ๊ณผ๋‚˜ ์ƒ‰์ƒ ๋ณ€ํ˜• ๋“ฑ ๊ทธ๋ž˜ํ”ฝ ํšจ๊ณผ๋ฅผ ์š”์†Œ์— ์ ์šฉํ•ฉ๋‹ˆ๋‹ค. ๋ณดํ†ต ํ•„ํ„ฐ๋Š” ์ด๋ฏธ์ง€, ๋ฐฐ๊ฒฝ, ํ…Œ๋‘๋ฆฌ ๋ Œ๋”๋ง์„ ์กฐ์ •ํ•˜๋Š” ๋ฐ ์“ฐ์ž…๋‹ˆ๋‹ค.

developer.mozilla.org

 

 

 

 

๋ฏธ๋‹ˆ ํ”„๋กœ์ ํŠธ ์ง„ํ–‰ ํ˜„ํ™ฉ

์šฐ์„  ๊ฐœ์ธ ํŽ˜์ด์ง€๋ฅผ ๋Œ€๋žต์ ์œผ๋กœ ๋งˆ์น˜๊ณ , ํ”ผ๊ทธ๋งˆ๋กœ ๋ฉ”์ธ ํŽ˜์ด์ง€ ์‹œ์•ˆ์„ ๋Œ€๋žต ์งฐ๋‹ค.

๊ธฐ๋Šฅ์ด ๋งŽ์ง€ ์•Š์œผ๋‹ˆ ๊ฒ‰๋ณด๊ธฐ์— ์žˆ์–ด ๋ณด์ด๊ฒŒ!!! ๊ฐ€๋ณธ๋‹ค!!!..

๋ฉ”์ธ ํŽ˜์ด์ง€ ๋งก์„๊ฒŒ์š”! ํ•˜์ž๋งˆ์ž ๊ทธ๋ ค์ง„ ๊ตฌ์ƒ ๋ฐ”ํƒ•์ด๊ธด ํ•œ๋ฐ ์šฐ๋ฆฌ ํŒ€์˜ ๊ธฐ๋Šฅ ์ค‘์— ๋‹คํฌ ๋ชจ๋“œ๊ฐ€ ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ๋งŽ์€ ์š”์†Œ๋ฅผ ๋„ฃ์ง€ ์•Š๊ณ  ํƒ€์ดํฌ๊ทธ๋ž˜ํ”ผ์— ํž˜์„ ์คฌ๋‹ค.

((ํฐ ๋„ํ™”์ง€์— ๋ญ˜ ๊ทธ๋ฆฌ๋ƒ.. ๋ง‰๋ง‰ํ•˜๋“ฏ์ด ๋‚˜๋Š” ํŠนํžˆ๋‚˜ ๊ธ€์ž๊ฐ€ ์—†์„์ˆ˜๋ก.. ์–ด๋ ต๋‹ค..))

ํ”ผ๊ทธ๋งˆ ์ž‘์—… (๋‹ค ๋๋‚œ ์ƒํƒœ๊ธด ํ•จ)

 

 

ํŒ€์›๋“ค์˜ ํ”ผ๋“œ๋ฐฑ์„ ๋ฐ›์•„ ์™„์„ฑ๋œ ์‹œ์•ˆ์€ ์ด๋ ‡๋‹ค.

์šฐ๋ฆฌ ํŒ€ ๋ฉ”์ธํŽ˜์ด์ง€ + ๋‹คํฌ๋ชจ๋“œ

 

ํƒ€์ดํฌ์— ํž˜์„ ์คฌ๊ธฐ ๋•Œ๋ฌธ์— ๊ตฐ๋ฐ๊ตฐ๋ฐ ์• ๋‹ˆ๋ฉ”์ด์…˜์ด ๋“ค์–ด๊ฐˆ ์˜ˆ์ •!

๋‚ด์ผ์€ ์• ๋‹ˆ๋ฉ”์ด์…˜์„ ๋„ฃ๊ณ , ๋‹คํฌ ๋ชจ๋“œ๋ฅผ ์ ์šฉํ•˜๋Š” ๊ฒƒ์„ ์šฐ์„ ์ ์œผ๋กœ ์ง„ํ–‰ํ•ด๋ณด๋ ค ํ•œ๋‹ค.

๊ฐœ์ธ ํŽ˜์ด์ง€๋„ ์กฐ๊ธˆ ์†๋ด์•ผ์ง€ ๐Ÿค”

 

 

728x90