본문 바로가기

CSS

20210525 CSS03 : CSS 속성, (width, height) 관련 속성, 표현단위, margin, padding, border 관련 속성, 색상 표현

CSS03



CSS 속성(Properties)


  • HTML 속성 : Attributes
  • CSS 속성 : Properties
  • JS 속성 : Properties

박스 모델


width , height

  • 요소의 가로/세로 너비
  • 기본 값 (property가 선언되지 않은 경우)
    • auto : 브라우저가 너비를 계산
    • 인라인 요소(auto 값)
      • 콘텐츠 크기 만큼 width, height가 맞춰짐 (예. span 태그, 인라인 요소에서 특정 너비 값은 무시됨)
    • 블록 요소(auto 값)
      • width는 부모 요소의 크기 만큼 자동으로 맞춰짐
      • height는 내부의 콘텐츠 크기만큼 자동으로 맞춰짐 (예. div 태그)
  • 지정 할 수 있는 값
    • px, em, vw 등 단위로 지정

max-width, max-height

  • 요소가 커질 수 있는 최대 가로/세로 너비
  • 기본 값 (property가 선언되지 않은 경우)
    • none : 최대 너비 제한 없음
  • 지정 할 수 있는 값
    • px, em, vw 등 단위로 지정
    • auto (브라우저가 너비를 계산, 잘 사용하지 않음)

min-width, min-height

  • 요소가 작아질 수 있는 최소 가로/세로 너비
  • 기본 값 (property가 선언되지 않은 경우)
    • 0 : 최소 너비 제한 없음
  • 지정 할 수 있는 값
    • px, em, vw 등 단위로 지정
    • auto (브라우저가 너비를 계산, 잘 사용하지 않음)

정리


항목 width height
기본값 auto auto
인라인(auto) 콘텐츠에 맞춤 콘텐츠 맞춤
블록 (auto) 부모 요소 크기 맞춤 콘텐츠 맞춤
max(기본값) none none
min(기본값) 0 0



표현 단위


  • 표현 단위 : 속성 값의 크기 단위
  • 일반적인 모니터 : 1920 * 1080 사용함 (픽셀 개수)
  • 기본적으로 명시되어 있지 않으면 모든 요소는 16px 만큼의 폰트 크기를 가짐
  • 0이라는 값은 단위 상관 없이 모두 0이므로 단위를 붙이지 말자

기호 이름
px 픽셀
% 상대적 백분율
(부모 요소의 상대적 백분율)
em 요소의 글꼴 크기
(부모의 폰트 사이즈가 요소에 상속되면 문제를 일으킴, 지정된 값이 아니라서 비교가 어려움)
rem 루트 요소 (최상위 요소->html)의 글꼴 크기
(주변 상황이 바뀌더라도 html의 글꼴 크기가 변하지 않는 이상 다른 요소에 영향을 받지 않아 좋다.)
vw viewport 가로 너비의 백분율
vh viewport 세로 너비의 백분율



외부 여백 (margin)


  • 요소의 외부 여백(공간)을 지정하는 단축 속성
  • 기본 값 (property가 선언되지 않은 경우)
    • 0 : 외부 여백 없음
  • 지정 할 수 있는 값
    • auto (브라우저가 여백을 계산, 가로(세로)너비가 있는 요소의 가운데 정렬에 활용)
    • px, em, vw 등 단위로 지정
    • 음수 값도 가능함 (예. -10px -> 외부의 여백이 줄어 겹쳐짐)
    • % : 부모 요소의 가로 너비에 대한 비율로 지정 (잘 사용하지 않음)
  • 단축 속성 : 한번에 여러 값을 받아 들여 디테일 하게 모든 방향을 지정 다룸 (띄어쓰기로 구분)
  • 개별 속성 : margin-방향: 값 -> 한번에 한값만 받아들여 하나의 방향만 지정

사용 표현 값 개수 설명
margin: top right bottom left 4개 값을 지정(단축) 시계방향, 상 우 하 좌
margin: top rightLeft bottom 3개 값을 지정(단축) 상 중 하
margin: topBottom rightLeft 2개 값을 지정 (단축) 상하, 좌우
margin: topRightBottomLeft 1개 값을 지정 (단축) 상하좌우 모두
margin-top: value 1 개 값을 지정 (개별)
margin-right: value 1 개 값을 지정 (개별)
margin-bottom: value 1 개 값을 지정 (개별)
margin-left: value 1 개 값을 지정 (개별)



내부 여백 (padding)


  • 요소의 내부 여백(공간)을 지정하는 단축 속성
  • 기본 값 (property가 선언되지 않은 경우)
    • 0 : 내부 여백 없음
  • 지정 할 수 있는 값
    • px, em, vw 등 단위로 지정
    • 음수 값도 가능함 (예. -10px -> 외부의 여백이 줄어 겹쳐짐)
    • % : 부모 요소의 가로 너비에 대한 비율로 지정 (어느정도 유용함)
  • padding 값이 커질수록 요소의 크기가 커짐
  • 단축 속성, 개별속성은 margin 과 동일하게 사용
사용 표현 값 개수 설명
padding: top right bottom left 4개 값을 지정(단축) 시계방향, 상 우 하 좌
padding: top rightLeft bottom 3개 값을 지정(단축) 상 중 하
padding: topBottom rightLeft 2개 값을 지정 (단축) 상하, 좌우
padding: topRightBottomLeft 1개 값을 지정 (단축) 상하좌우 모두
padding-top: value 1 개 값을 지정 (개별)
padding-right: value 1 개 값을 지정 (개별)
padding-bottom: value 1 개 값을 지정 (개별)
padding-left: value 1 개 값을 지정 (개별)



테두리 선 (border)


border


  • 요소의 테두리 선을 지정하는 단축 속성
  • 요소의 크기가 커지는 특징이 있다.
  • 기본값 : none
  • 단축 속성
    • border: 두께(width) 종류(style) 색상(color)
    • 3가지 값을 모두 넣어 주어야 테두리 선이 생김
    • width , style color 순으로 작성하자 (물론, 섞여도 상관은 없지만 통일감을 주자)
  • 개별 속성:
    • border-width : 요소 테두리 선의 두께
      • 보통 px, em, vw 등 단위로 지정
      • 개별 속성이면서 단축 속성임
        • margin, padding 처럼 4방향 top right bottom left를 사용 가능
    • border-style : 요소 테두리 선의 종류
      • 기본값 : none
      • 지정할 수 있는 값
        • solid(실선) , dashed(파선), dotted, double, groove, ridge, inset, outset
        • 개별 속성이면서 단축 속성임
        • margin, padding 처럼 4방향 top right bottom left를 사용 가능
    • border-color : 요소 테두리 선의 색상
      • 기본값 : black
      • 지정할 수 있는 값
        • color 값 or 키워드, transparent(투명)
      • 개별 속성이면서 단축 속성임
        • margin, padding 처럼 4방향 top right bottom left를 사용 가능
  • 기타 속성
    • border-방향 , border-방향-속성
top right
border-top: widthV styleV colorV border-right: widthV styleV colorV
border-top-width: value border-right-width: value
border-top-style: value border-right-style: value
border-top-color: value border-right-color: value
bottom left
border-bottom: widthV styleV colorV border-left: widthV styleV colorV
border-bottom-width: value border-left-width: value
border-bottom-style: value border-left-style: value
border-bottom-color: value border-left-color: value



border-radius


  • 요소의 모서리를 둥글게 깎음
  • 기본값 : 0 (둥글게 없음)
  • 지정할 수 있는 값 : px, em vw 등 단위로 지정
  • 단축 속성
    • border-radius: topLeft topRight bottomRight bottomLeft
  • 픽셀의 의미
    • 모서리의 가로 세로 n픽셀을 반지름(radius)으로 하는 원의 호로 둥글게 처리




색상 표현


  • 색을 사용하는 모든 속성에 적용가능한 색상 표현
이름 설명 사용기호
색상키워드 브라우저에서 제공하는 색상 이름 red,tomato,royalblue
Hex생상코드 16진수 색상 #000, #FFFFFF
RGB 빛의 삼원색 rgb(255, 255, 255)
RGBA 빛의 삼원색 + 투명도 rgba(0, 0, 0, 0.5)
HSL 색상, 채도, 명도 hsl(120, 100%, 50%)
HSLA 색상, 채도, 명도 + 투명도 hsla(120, 100%, 50%, 0.3)