본문 바로가기
면접준비

CSS의 박스 모델(Box Model) 설명

by 기억보다 기록을 2024. 2. 18.
반응형

 

 


 

CSS에서 박스 모델이란?


프론트엔드 면접이나 코딩테스트를 봤을때 CSS 박스 모델 관련 질문과 간단한 문제 나왔는데 질문이 간단하지만 잘 대답하지못해 자주 나오는 박스 모델 관련 질문을 정리해보려고 합니다. 신입 개발자 분들 한번 읽어보시면 도움이 될거라고 생각합니다.

 

CSS의 박스 모델(Box Model)은 웹 페이지의 요소들을 박스로 간주하고, 각각의 요소를 여러 가지 속성을 통해 표현하는 개념입니다. 이 모델은 웹 페이지의 레이아웃을 조절하고 디자인하는 데에 중요한 역할을 합니다. 박스 모델은 크게 콘텐츠(content), 패딩(padding), 테두리(border), 여백(margin)으로 구성됩니다.

 

이 속성들은 각각의 값들을 가질 수 있고, CSS를 통해 스타일을 지정할 때 이러한 값을 조절하여 레이아웃을 디자인합니다. 아래는 간단한 CSS 예제입니다.

.box {
  width: 200px;
  height: 100px;
  padding: 20px;
  border: 2px solid #333;
  margin: 10px;
}

 

 

 


 

 

 

Content, Padding, Border, Margin 정리


콘텐츠(Content):

콘텐츠는 박스 모델 안에서 실제 내용이 표시되는 부분입니다. 예를 들어, 텍스트, 이미지, 비디오 등이 여기에 위치하며, 박스의 크기는 주로 이 콘텐츠의 크기에 따라 조절됩니다. 간단하게 <div> 테그 안에 콘텐츠 내용을 표시하는 예시는 다음과 같습니다. 

 

<body>

  <div class="content-box">
    <h2> TITLE HERE </h2>
    <p> Content Here </p>
    <img src="example-image.jpg" alt="content image ">
  </div>

</body>

 

 

 

 


 

 


패딩(Padding):

패딩은 콘텐츠와 테두리 사이의 여백을 지정합니다. 패딩은 박스의 내부에 적용되며, 콘텐츠와 패딩 사이에는 배경색이나 이미지 등이 들어갈 수 있습니다. 패딩은 padding-top, padding-right, padding-bottom, padding-left와 같이 각 방향에 대해 개별적으로 설정할 수 있습니다. CSS에서 정말 많이 사용되는 디자인 요소라 간단한 예시입니다.

 

<style>
    .padding-example {
      width: 200px;
      border: 2px solid #333;
      padding: 20px;
    }
  </style>

 

 

 


 

 


테두리(Border):

테두리는 박스 주위에 그려진 선이며, 박스의 외곽을 감싸는 역할을 합니다. 테두리는 주로 선의 두께, 스타일, 색상을 설정하여 시각적인 효과를 부여하는 데 사용됩니다. 테두리를 설정하기 위한 주요 속성들은 다음과 같습니다:

 

1. border-width: 테두리의 두께를 설정합니다. 예를 들어, "border-width: 2px;"는 2픽셀의 두께를 가진 테두리를 만듭니다.

2. border-style: 테두리의 스타일을 지정합니다. 일반적으로 사용되는 값으로는 solid, dashed, dotted 등이 있습니다.

3. border-color: 테두리의 색상을 설정합니다. 색상은 헥사코드, RGB 값, 색상 이름 등으로 지정할 수 있습니다.

 

<style>
    .border-example {
      width: 200px;
      height: 100px;
      border-width: 2px;
      border-style: dashed;
      border-color: #007bff;
    }
  </style>

 

 

 

 

 

 


 

 


여백(Margin):

여백은 박스와 인접한 다른 요소 사이의 간격을 나타냅니다. 여백은 박스 외부에 적용되며, 다른 요소와의 간격을 조절하여 레이아웃을 디자인할 때 사용됩니다. 마찬가지로 margin-top, margin-right, margin-bottom, margin-left와 같이 각 방향에 대해 개별적으로 설정할 수 있습니다. 자세한 요소들 정리해보면 다음과 같습니다. 간단한 예시도 참고해주세요.

 

1. margin-top, margin-right, margin-bottom, margin-left: 각 방향에 대한 여백을 개별적으로 설정할 수 있습니다. 예를 들어, margin-top: 10px;은 위쪽 여백을 10픽셀로 설정합니다.

2. margin: 네 방향 모두에 대한 여백을 한 번에 설정합니다. 여러 값을 한 번에 지정할 수 있으며, 순서에 따라 top, right, bottom, left 순으로 설정됩니다. 예를 들어, margin: 10px 20px 15px 5px;는 위쪽, 오른쪽, 아래쪽, 왼쪽 순으로 각각 10px, 20px, 15px, 5px의 여백을 설정합니다.

 

<style>
    .margin-example {
      width: 200px;
      height: 100px;
      background-color: #f0f0f0;
      margin: 10px 20px 15px 5px;
    }
  </style>

 

 

 


 

 

반응형