Open taihoon opened 3 years ago
https://sujansundareswaran.com/blog/why-hsl-is-better-than-hex-and-rgb 을 발번역 했어요.
#3ecbbe 이거 무슨 색인지 알 수 있음? rgba(253, 152, 39) 이건 뭘까?
#3ecbbe
rgba(253, 152, 39)
어렵지? 16진수(HEX)와 RGB는 직관적인 색상 모델이 아니라 그래. 근데 HSL은 색상을 표현하는 실제 방식을 모방하고 있어 보다 친화적이야.
자~ 너는 지금 책상에 앉아 있을텐데, 책상의 색상을 봐봐. 마호가니 책상이라고 가정하면 그 색상은
#4f2017
rgb(79, 32, 23)
일 꺼야.
이제 책상 표면 위 5센치 정도 위에 손을 올려봐. 그림자가 생겨 책상이 조금 어둡지? 그치만 책상의 색은 변한게 아니야. 표면에 도달한 빛의 양이 준거지. 이 변경을 색상 자체를 변경하지 않고 16진수나 rgb로 표현하는 것은 불가능해. 아예 다른 값이 되거든.
#200d09
rgb(32, 13, 9)
원래 색과 이 값은 아무 상관 관계가 없어. 유추하기도 힘들지 ㅠ.
hsl은 hue, saturation, lightness의 약자야. 직관적인 색상 모델이지. 닝겐이 더 잘 이해할 수 있어. css는 rgb와 비슷한 형식으로 hsl(20, 100%, 60%) 처럼 쓰면 돼.
css
hsl(20, 100%, 60%)
hue(색조)는 색상이고 빨간색으로 시작해. 녹색은 120°, 파랑은 270°야.
각 색상이 컬러휠(색상환)의 어디에 있는지 잘 봐둬. hsl 시스템을 활용할 때 꼭 필요하거든.
saturation(채도)는 색상의 강도나 순도를 지정하는 백분율이야. 0%는 색상이 채도가 낮고 흐릿한 회색인데 색상이 믹스에 존재하지 않다는 거지. 100%는 가장 순수한 색상이야.
lightness(밝기)도 백분율이야. 0%는 완전한 어둠, 즉 완전한 검은색이지. 100%는 순수한 흰색인 눈부신 빛이야.
이런 방식으로 색상을 가장 잘 표현하려면 색상 값을 선택하고 채도를 100%, 밝기를 50%로 해야겠지.
hsl(20, 100%, 60%)를 다시 볼까?
이렇게 hsl 값을 읽는 것 만으로 색상을 시각화 할 수 있어. 그렇담 hsl을 사용해 책상 예제를 표현해 볼까?
hsl(10, 55%, 20%)
hsl(10, 55%, 8%)
봐봐. 색조와 채도는 달라지지 않고 밝기만 달라졌어. 아래 예제도 봐봐.
button { background-color : hsl(20, 100%, 60%); } button:hover { background-color : hsl(20, 100%, 70%); } button:active { background-color : hsl(20, 100%, 40%); }
머리속으로 색상을 시각화 하는 방법을 알았으니 이제 색상 팔레트를 만드는 방법을 알아보자.
빨강 hsl(0, 100%, 50%)을 기본으로 할께.
hsl(0, 100%, 50%)
보색은 서로 반대편에 있는 색상이야. 보색의 조화는 극적이고 강렬한 느낌을 줘.
hsl(180, 100%, 50%)
근접 보색은 보색 양옆의 두 색이야. 격조 높은 효과를 기대할 수 있어.
hsl(20, 100%, 50%)
hsl(340, 100%, 50%)
이건 서로 동일한 거리에 있는 3가지 색상이야. 화려한 느낌을 준대.
hsl(120, 100%, 50%)
hsl(240, 100%, 50%)
서로 동일한 거리에 있는 4가지 색상. 다양하고 깊이 있다고 해.
hsl( 90, 100%, 50%)
hsl(270, 100%, 50%)
기본 색상 양쪽에서 두개의 생상을 선책하는 거야. 원색의 개성을 보여주며 부드러움과 통일감을 줄 수 있어.
hsl( 30, 100%, 50%)
hsl(330, 100%, 50%)
동일한 색조를 사용하지만 밝기가 달라. 단정한 느낌을 준대.
hsl(0, 100%, 30%)
자. 이렇게 hsl을 사용하면 팔레트를 만드는건 간단한 산수가 돼. 레츠두잇~
오.. 잘보고갑니다!
#3ecbbe
이거 무슨 색인지 알 수 있음?rgba(253, 152, 39)
이건 뭘까?어렵지? 16진수(HEX)와 RGB는 직관적인 색상 모델이 아니라 그래. 근데 HSL은 색상을 표현하는 실제 방식을 모방하고 있어 보다 친화적이야.
자~ 너는 지금 책상에 앉아 있을텐데, 책상의 색상을 봐봐. 마호가니 책상이라고 가정하면 그 색상은
#4f2017
rgb(79, 32, 23)
일 꺼야.
이제 책상 표면 위 5센치 정도 위에 손을 올려봐. 그림자가 생겨 책상이 조금 어둡지? 그치만 책상의 색은 변한게 아니야. 표면에 도달한 빛의 양이 준거지. 이 변경을 색상 자체를 변경하지 않고 16진수나 rgb로 표현하는 것은 불가능해. 아예 다른 값이 되거든.
#200d09
rgb(32, 13, 9)
원래 색과 이 값은 아무 상관 관계가 없어. 유추하기도 힘들지 ㅠ.
HSL
hsl은 hue, saturation, lightness의 약자야. 직관적인 색상 모델이지. 닝겐이 더 잘 이해할 수 있어.
css
는 rgb와 비슷한 형식으로hsl(20, 100%, 60%)
처럼 쓰면 돼.hue(색조)는 색상이고 빨간색으로 시작해. 녹색은 120°, 파랑은 270°야.
각 색상이 컬러휠(색상환)의 어디에 있는지 잘 봐둬. hsl 시스템을 활용할 때 꼭 필요하거든.
saturation(채도)는 색상의 강도나 순도를 지정하는 백분율이야. 0%는 색상이 채도가 낮고 흐릿한 회색인데 색상이 믹스에 존재하지 않다는 거지. 100%는 가장 순수한 색상이야.
lightness(밝기)도 백분율이야. 0%는 완전한 어둠, 즉 완전한 검은색이지. 100%는 순수한 흰색인 눈부신 빛이야.
이런 방식으로 색상을 가장 잘 표현하려면 색상 값을 선택하고 채도를 100%, 밝기를 50%로 해야겠지.
hsl(20, 100%, 60%)
를 다시 볼까?이렇게 hsl 값을 읽는 것 만으로 색상을 시각화 할 수 있어. 그렇담 hsl을 사용해 책상 예제를 표현해 볼까?
hsl(10, 55%, 20%)
hsl(10, 55%, 8%)
봐봐. 색조와 채도는 달라지지 않고 밝기만 달라졌어. 아래 예제도 봐봐.
HSL로 팔레트 구성하기
머리속으로 색상을 시각화 하는 방법을 알았으니 이제 색상 팔레트를 만드는 방법을 알아보자.
빨강
hsl(0, 100%, 50%)
을 기본으로 할께.보색(Complementary)
보색은 서로 반대편에 있는 색상이야. 보색의 조화는 극적이고 강렬한 느낌을 줘.
hsl(0, 100%, 50%)
hsl(180, 100%, 50%)
근접보색(Split–Complementary)
근접 보색은 보색 양옆의 두 색이야. 격조 높은 효과를 기대할 수 있어.
hsl(0, 100%, 50%)
hsl(20, 100%, 50%)
hsl(340, 100%, 50%)
등간격 3색(Triadic)
이건 서로 동일한 거리에 있는 3가지 색상이야. 화려한 느낌을 준대.
hsl(0, 100%, 50%)
hsl(120, 100%, 50%)
hsl(240, 100%, 50%)
등간격 4색(Tetradic)
서로 동일한 거리에 있는 4가지 색상. 다양하고 깊이 있다고 해.
hsl(0, 100%, 50%)
hsl( 90, 100%, 50%)
hsl(180, 100%, 50%)
hsl(270, 100%, 50%)
유사(Analogous)
기본 색상 양쪽에서 두개의 생상을 선책하는 거야. 원색의 개성을 보여주며 부드러움과 통일감을 줄 수 있어.
hsl(0, 100%, 50%)
hsl( 30, 100%, 50%)
hsl(330, 100%, 50%)
단색(Monochromatic)
동일한 색조를 사용하지만 밝기가 달라. 단정한 느낌을 준대.
hsl(0, 100%, 50%)
hsl(0, 100%, 30%)
자. 이렇게 hsl을 사용하면 팔레트를 만드는건 간단한 산수가 돼. 레츠두잇~