CSS 박스 모델

CSSBeginner
지금 연습하기

소개

CSS 박스 모델 실습에 오신 것을 환영합니다! 웹 디자인에서 모든 HTML 요소는 하나의 박스로 간주될 수 있습니다. CSS 박스 모델은 이러한 박스가 웹 페이지에 어떻게 렌더링되는지를 설명하는 기본적인 개념입니다. 박스 모델은 콘텐츠 영역 (content area), 패딩 (padding), 테두리 (border), 마진 (margin) 의 네 가지 주요 부분으로 구성됩니다.

이 실습에서는 각 구성 요소를 조작하여 요소의 크기와 간격을 제어하는 방법을 배우게 됩니다. index.html 파일과 style.css 파일을 사용합니다. 모든 변경 사항은 style.css 파일에서 이루어지며, LabEx 인터페이스의 Web 8080 탭으로 전환하여 즉시 결과를 확인할 수 있습니다.

시작해 봅시다!

이것은 가이드 실험입니다. 학습과 실습을 돕기 위한 단계별 지침을 제공합니다.각 단계를 완료하고 실무 경험을 쌓기 위해 지침을 주의 깊게 따르세요. 과거 데이터에 따르면, 이것은 초급 레벨의 실험이며 완료율은 95%입니다.학습자들로부터 100%의 긍정적인 리뷰율을 받았습니다.

div 요소에 width 속성 설정하기

이 단계에서는 요소의 콘텐츠 영역 크기를 정의하는 것부터 시작하겠습니다. CSS 의 width 속성은 요소의 콘텐츠 박스 너비를 설정합니다. 박스 모델의 다른 구성 요소 (패딩, 테두리, 마진) 는 이 콘텐츠 영역 주위에 추가됩니다.

먼저 WebIDE 왼쪽의 파일 탐색기에서 style.css 파일을 찾으십시오. 파일을 클릭하여 편집기에서 엽니다.

이제 style.css 파일에 다음 CSS 규칙을 추가합니다. 이 규칙은 box 클래스를 가진 div 요소를 대상으로 하며 너비를 300 픽셀로 설정합니다.

.box {
  width: 300px;
}

코드를 추가한 후 파일을 저장합니다 (Ctrl+S 또는 Cmd+S). 효과를 보려면 Web 8080 탭을 클릭하십시오. 이제 상자 안의 텍스트가 300 픽셀 너비의 컨테이너에 맞게 줄 바꿈되는 것을 확인할 수 있습니다.

box tag

일정한 값으로 padding 속성 적용하기

이 단계에서는 콘텐츠와 요소의 경계 사이에 공간을 추가할 것입니다. 이 공간을 padding이라고 합니다. padding 속성은 콘텐츠 주위에 영역을 비웁니다. 이 영역은 요소의 테두리 안에 있습니다.

상자의 네 면 모두에 20 픽셀의 패딩을 추가해 보겠습니다. style.css 파일에서 기존의 .box 규칙을 수정하여 padding 속성을 포함시키십시오.

.box {
  width: 300px;
  padding: 20px;
  background-color: lightblue; /* 시각적 개선을 위해 추가됨 */
}

또한 콘텐츠 영역과 패딩 영역을 더 잘 보이게 하기 위해 background-color를 추가했습니다. 파일을 저장하고 Web 8080 탭으로 전환하십시오. 이제 상자 안의 텍스트 콘텐츠를 둘러싸는 20 픽셀의 하늘색 공간이 생긴 것을 볼 수 있습니다. 패딩이 콘텐츠 너비 위에 추가되므로 상자의 전체 가시 너비가 증가했음을 주목하십시오.

box tag

border 속성을 style, width, color 와 함께 사용하기

이 단계에서는 요소의 패딩과 콘텐츠 주위에 border를 추가할 것입니다. border 속성은 테두리의 너비, 스타일, 색상을 한 번에 설정할 수 있는 축약형입니다.

두께가 2 픽셀인 실선 검정색 테두리를 추가해 보겠습니다. style.css 파일에서 .box 규칙을 아래와 같이 업데이트하십시오.

.box {
  width: 300px;
  padding: 20px;
  background-color: lightblue;
  border: 2px solid black;
}

border 속성의 값은 각각 border-width, border-style, border-color입니다.

파일을 저장하고 Web 8080 탭을 새로고침하십시오. 이제 상자의 패딩 영역 주위에 그려진 검은색 선이 보일 것입니다. 이 새로운 테두리를 수용하기 위해 요소의 전체 너비가 다시 증가했습니다.

box tag

간격을 위한 margin 속성 구현하기

이 단계에서는 요소 테두리 바깥쪽의 공간을 제어할 것입니다. 이는 margin 속성을 사용하여 수행됩니다. margin 은 요소 주위에 빈 공간을 만들어 다른 요소들을 밀어냅니다.

상자 전체를 제목과 페이지 가장자리에서 분리하기 위해 모든 면에 50 픽셀의 margin 을 추가해 보겠습니다. style.css.box 규칙에 margin 속성을 추가하십시오.

.box {
  width: 300px;
  padding: 20px;
  background-color: lightblue;
  border: 2px solid black;
  margin: 50px;
}

파일을 저장하고 Web 8080 탭을 확인하십시오. 이제 전체 상자가 <h1> 요소에서 아래로 밀려나고 브라우저 창의 왼쪽 가장자리에서 떨어져 있는 것을 볼 수 있습니다. 이는 margin 이 요소 간의 간격을 제어하는 데 어떻게 사용되는지를 보여줍니다.

box tag

padding 포함을 위한 box-sizing: border-box 추가하기

이 단계에서는 일반적인 레이아웃 문제를 해결할 것입니다. 기본적으로 요소의 widthheight 속성은 콘텐츠 상자에만 적용됩니다. 패딩과 테두리는 그 위에 추가되므로 크기 조정이 예측 불가능해질 수 있습니다. 우리 상자의 경우 현재 총 너비는 300px (width) + 40px (좌/우 패딩) + 4px (좌/우 테두리) = 344px입니다.

이를 단순화하기 위해 box-sizing 속성을 사용할 수 있습니다. 이를 border-box로 설정하면 브라우저에 요소의 전체 너비와 높이에 패딩과 테두리를 포함하도록 지시하는 것입니다.

.box 규칙에 box-sizing: border-box; 속성을 추가하십시오.

.box {
  width: 300px;
  padding: 20px;
  background-color: lightblue;
  border: 2px solid black;
  margin: 50px;
  box-sizing: border-box;
}

파일을 저장하고 Web 8080 탭을 확인하십시오. 상자가 줄어드는 것을 볼 수 있습니다. 이제 패딩과 테두리를 포함한 상자의 총 너비는 정확히 300 픽셀입니다. 브라우저는 콘텐츠 영역을 자동으로 조정하여 맞춥니다. 이 동작은 레이아웃을 만드는 데 훨씬 더 직관적입니다.

요약

실습을 완료하신 것을 축하드립니다! CSS 박스 모델의 기본 사항을 성공적으로 학습했습니다.

이번 실습에서는 다음을 연습했습니다.

  • 요소 콘텐츠 영역의 width 설정하기.
  • 콘텐츠와 테두리 사이에 공간을 만들기 위한 padding 적용하기.
  • 패딩과 콘텐츠 주위에 border 추가하기.
  • 요소 테두리 바깥쪽에 공간을 만들기 위한 margin 사용하기.
  • 더 예측 가능하고 직관적인 요소 크기 지정을 위한 box-sizing: border-box 활용하기.

박스 모델을 이해하는 것은 웹 페이지에서 요소의 레이아웃과 간격을 제어하는 데 매우 중요합니다. CSS 에 능숙해지기 위해 이러한 개념을 계속 연습하십시오.