CSS 단위 part-2 - by. UXKM

요약 설명

CSS 단위 part-2 에서는
- CSS 단위 비교 표
- 색상 표현 단위
- opacity 속성
에 대한 내용을 다루고 있습니다.

CSS에서 사용되는 단위에는 길이에 사용되는 단위와 color에 사용되는 단위로 나누어집니다.
길이에 사용되는 단위에는 상대 길이 단위, 절대 길이 단위로 나누어지고, color에 사용되는 단위로는 색상이름, RGB, HEX, HSL로 나누어집니다.
em과 rem은 사용자가 글꼴 크기를 늘려도 페이지의 수직 흐름을 유지하는, 확대 가능한 레이아웃을 만들기 위해 많이 쓰입니다.
cm, mm, inch 등의 단위도 존재하나 CSS에서 사용하는 대표적인 크기 단위는 px, em, %입니다.
px은 절대값이고 em, %는 상대값입니다.
대부분 브라우저의 폰트 사이즈 기본값은 16px, 1em, 100%입니다.
프로퍼티 값이 0인 경우, 단위를 생략할 수 있습니다.
단위를 사용할 때, 앞의 숫자와 단위 사이에 공백을 두지 않습니다.(예: 2em, 3px, 5in(○) / 2 em, 3 px, 5 in(×))
좀 더 상세한 내용은 각 속성들을 설명할 때 다루도록 하겠습니다.
font-size의 단위를 설정하는 방법은 크게 절대 단위(px)와 상대 단위(%,em) 등이 있는데 모바일이나 반응형을 고려할 시 상대 단위를 사용하는 것을 권장합니다.
예시로 px, pt, cm 등의 단위로 지정하거나 xx-small, x-small, small, medium, large, x-large, xx-large 중에서 선택 가능하며, medium은 기본값으로 12pt = 19px = 13m = 100%, *구 IE 버전의 경우, small이 기본값이라 doctype을 선언해야 medium이 기본값으로 나옵니다.

2.1.3. CSS 단위 비교 표

CSS 단위 비교 표
[px, em, %, pt, HTML, KeyCode 비교표]

2.1.4. 색상 표현 단위

색상을 지정하는 모든 요소에 사용됩니다.
CSS속성에서 대표적인 예로 color, background-color, border-color에 사용됩니다.
색상를 표현할 수 있는 키워드 리스트는 W3C css3-color를 참고하시기 바랍니다.
CSS 색상값(color value)을 입력할 때 다음 색상 단위를 이용할 수 있습니다.
단위 값은 소문자, 대문자를 구분하지 않습니다.

  1. 색상 이름(red,black, blue 등)
  2. rgb(red, green, blue)값
  3. rgba(red, green, blue, alpha)값
  4. hsl(hue, saturation, linhtness)값
  5. hsla(hue, saturation, lightness, alpha)값

위의 5가지 방법 중에서 rgba, hsl, hsla는 CSS 3에서 새로 추가된 속성입니다.

색상 이름

색상 이름(color keyword)을 지정하는 방법 ex) red, green, blue...등
색상을 지정하기 위해 키워드(red, blue…)를 사용할 수 있습니다. 사용이 간편하다는 장점이 있으나 표현할 수 있는 색상의 수는 제한됩니다.

HEX 코드

HEX 코드 단위(Hexadecimal Colors)로 지정하는 방법(16진수)입니다. ex) #000000...등

다음 색상 값은 모두 동일합니다.
#f00
#ff0000
rgb(255,0,0)
rgb(100%, 0%, 0%)
예: #fb0 = #ffbb00 / #fff = #ffffff

각각의 HTML 코드는 "#"와 6자리 숫자로 되어있습니다. 이 숫자는 16진법의 숫자 시스템입니다. 예를 들면 16진법에서 "FF"는 십진법에서의 숫자 25를 나타냅니다.

HTML컬러 코드에서 처음 두 자리의 상징(#'00'9AFF)은 빨강색의 강도를 나타냅니다. 00는 최소값이며 FF는 최대값을 의미합니다.
세 번째와 네 번째(#00'9A'FF)는 녹색의 강도를 표현하며 다섯 번째 및 여섯 번째(#009A'FF')는 파랑의 강도를 나타냅니다.
빨강, 녹색 그리고 파랑의 강도를 조합하여 희망하는 컬러를 만들 수 있습니다.
만약 각 색을 표현하는 두 자릿수의 코드값이 각각 같은 경우, 각각 1자리로 줄여 사용이 가능합니다.(예 : #0099FF → #09F / #009AFF → #09AF(×))
코드값에 영문이 들어가는 경우, 대소문자를 가리지 않으나 소문자 사용을 권장합니다.(예 : #009AFF(○) / #009aff(○))

RGB

RGB(Red, Green, Blue) rgb(255, 255, 0)
RGB로 표현할 때는 0과 255 사이의 숫자 또는 백분율 0% 100% 사이로 표현합니다.
rgb(0,0,255) = rgb(0%,0%,255%)

RGBA

RGBA(Red, Green, Blue, Alpha/투명도) rgba(255, 255, 0, 1)
RGB 색상에 alpha(투명도)가 추가된 것입니다.
alpha 값은 0.0(완전 투명) 과 1.0(완전 불투명) 사이 입니다.

HSL

HSL(Hue/색상, Saturation/채도, Lightness/명도) hsl(0, 100%, 25%)
CSS 3에서 rgb색상에 대한 보완으로 hue,saturation,lightness 색상값을 추가했습니다.
hue 는 0~360 사이의 숫자.( 0 또는 360은 red, 120은 green, 240은 blue)
saturation은 0%~100%(0%는 회색 빛, 100%는 원래의 완전한 색상)
lightness은 0%~100%(0%는 검정색, 100%는 흰색)

HSLA

HSLA(Hue, Saturation, Lightness, Alpha) hsla(60, 100%, 50%, 1)
HSL에 ahpha(투명도)가 추가된 것입니다.

색상 표현 단위 종합 예제

2.1.5. opacity 속성

요소의 불투명도를 설정합니다. 불투명도는 요소 뒤쪽 콘텐츠가 숨겨지는 정도로, 투명도의 반대입니다.
opacity는 요소의 내용을 포함해 모든 곳에 영향을 주지만 자식 요소가 상속하지는 않습니다.
따라서 요소와 자식의 투명도가 서로 다르더라도 배경에 대해서는 상대적으로 같은 투명도를 갖습니다.
opacity 값이 1이 아니면 요소를 새로운 쌓임 맥락에 배치합니다.
자식 요소는 불투명하게 유지하고 싶다면 background 속성을 대신 사용하세요.

  1. <number> : 0.0 이상, 1.0 이하의 불투명도를 나타내는 수(알파채널의 값). 범위 밖의 숫자는 구문 상 유효하지만, 실제 적용 시에는 범위에 들어가도록 잘라냅니다.

    0 : 요소가 완전히 투명해 보이지 않습니다.

    0과 1 사이의 <number> : 요소가 반투명해 뒤의 내용을 볼 수 있습니다.

    1(기본값) : 요소가 불투명합니다.