본문 바로가기

CSS

상자 모델: 요소의 크기와 여백을 조절하는 상자 모델을 이해합니다.

반응형

상자 모델(Box Model)에 대해 더 상세하게 설명드리겠습니다. 상자 모델은 웹 페이지 내의 모든 HTML 요소를 하나의 상자로 간주합니다. 이 모델은 크게 네 부분으로 구성되어 있으며, 각 부분은 웹 페이지의 레이아웃과 디자인을 정의하는 데 중요한 역할을 합니다.

  1. 콘텐츠 영역(Content Area):
    • 이것은 HTML 요소가 실제 텍스트, 이미지, 비디오 등의 콘텐츠를 보여주는 영역입니다.
    • width와 height 속성은 이 영역의 크기를 직접적으로 결정합니다.
    • 예를 들어, width: 100px; height: 200px;는 콘텐츠 영역의 너비를 100픽셀, 높이를 200픽셀로 설정합니다.
  2. 패딩(Padding):
    • 콘텐츠 영역과 테두리 사이의 내부 여백입니다.
    • 패딩은 콘텐츠 영역을 둘러싸고, 요소의 배경색이나 배경 이미지는 패딩 영역에도 적용됩니다.
    • padding 속성을 이용해 패딩의 크기를 조절할 수 있으며, 상, 하, 좌, 우 패딩을 다르게 설정할 수 있습니다.
    • 예: padding: 5px 10px;는 상하 패딩을 5픽셀, 좌우 패딩을 10픽셀로 설정합니다.
  3. 테두리(Border):
    • 패딩 바깥쪽에 위치하며, 요소의 외곽선입니다.
    • border 속성을 통해 테두리의 두께, 스타일, 색상을 지정할 수 있습니다.
    • 예: border: 2px solid red;는 빨간색의 2픽셀 두께의 실선 테두리를 생성합니다.
  4. 여백(Margin):
    • 요소의 외부 여백으로, 다른 요소들과의 거리를 조정합니다.
    • margin 속성으로 조절하며, 상, 하, 좌, 우 각각에 대해 여백을 다르게 설정할 수 있습니다.
    • 예: margin: 20px 0;는 상하 여백을 20픽셀로, 좌우 여백을 0으로 설정합니다.

추가적으로 이해를 돕기 위한 몇 가지 중요한 개념들:

  • Box Sizing:
    • box-sizing 속성은 콘텐츠 영역의 크기가 패딩과 테두리를 포함할 것인지 여부를 결정합니다.
    • content-box (기본값): 패딩과 테두리가 콘텐츠 영역의 크기 외부에 추가됩니다.
    • border-box: 패딩과 테두리가 콘텐츠 영역의 지정된 크기 내부에 포함됩니다.
  • Positioning:
    • position 속성은 요소의 위치를 결정합니다.
    • static (기본값): 흐름에 따라 자연스럽게 배치됩니다.
    • relative: 상대적 위치 조정이 가능합니다.
    • absolute: 완전히 독립적인 위치 설정이 가능합니다.
    • fixed: 항상 같은 위치에 고정됩니다.
    • sticky: 특정 스크롤 위치에서 고정됩니다.
  • Overflow:
    • overflow 속성은 콘텐츠가 그의 상자를 넘어갈 경우 어떻게 처리할지를 결정합니다.
    • visible: 넘치는 콘텐츠가 상자 밖으로 보입니다.
    • hidden: 넘치는 콘텐츠가 잘려서 보이지 않습니다.
    • scroll: 스크롤바를 통해 넘치는 콘텐츠를 볼 수 있습니다.
    • auto: 필요한 경우 스크롤바가 나타납니다.
반응형