웹프로그래밍 CSS3/CSS3 속성

박스 모델

별초롱언니 2025. 3. 12. 12:59

▣ 박스 모델

· 웹 문서에 텍스트, 이미지, 테이블 등의 요소를 배치하기 위해 사용

· 웹 문서의 전체 레이아웃을 정의

· 각종 요소들을 웒라는 위치에 배치

 

▣ 박스의 속성

· content : 실제 내용이 표현되는 곳

· padding : 콘텐츠와 테두리 사이의 여백

· border : 박스의 테두리 두께

· margin : 테두리와 박스의 최종 경계 사이의 여백 

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>박스 모델 이해하기</title>

  <style>
    div {
      background-color: yellow;
      width: 300px;
      padding: 25px;
      border: 15px solid navy;
      margin: 25px;
    }
  </style>

</head>
<body>
  <p>CSS3 박스 모델은 content, padding, border, margin으로 구성되어 있다.</p>
  <div>박스 모델의 padding, border, margin 속성의 기본 값은 0이며, 상하좌우 네 가지 방향을 top, bottom, left, right를 이용하여 지정할 수 있습니다.</div>
</body>
</html>


Content

· 실제 내용이 표헌되는 곳

· 속성 : width(너비 지정), height(높이 지정)

속성 설명
value 셀지로 측정한 데이터 값이다.
min, max 데이터가 인식하는 최솟값과 최댓값이다. 기본값은 0~1이다.
low, high 허용되는 범위의 최솟값과 최댓값이다. low~high 값은 항상 min~max값 범위 내에 있다.
<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>박스의 내용 영역 크기 지정하기</title>

  <style>
    body {
      height: 100px;
    }
    p {
      background-color: yellow;
      color: red;
      font-weight: bold;
      font-size: 16pt;
    }
    p.c1 {
      width: 700px;
      height: 80px;
      color: green;
    }
    p.c2 {
      width: 50%;
      height: 150%;
      color: purple;
    }
    p.c3 {
      width: 10cm;
      height: 3cm;
      color: blue;
    }
  </style>

</head>
<body>
  <p>박스 모델의 내용 영역 크기 지정</p>
  <p class="c1">(1) 박스 모델의 크기를 픽셀(px) 단위로 지정</p>
  <p class="c2">(2) 박스 모델의 크기를 퍼센트(%) 단위로 지정</p>
  <p class="c3">(3) 박스 모델의 크기를 센티미터(cm) 단위로 지정</p>
</body>
</html>


Padding, margin

· padding : 박스의 안쪽 여백 설정

· margin : 박스의 바깥쪽 여백 설정

속성값 설명
수치 여백은 픽셀(px), 포인트(pt), 센티미터(cm) 같은 수치 단위로 지정한다.
백분율 여백을 부모 요소를 기준으로 하여 백분율로 지정한다.
auto 여백을 웹 브라우저가 자동으로 지정한다. 기본값이다.
<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>박스의 안쪽 여백과 바깥쪽 여백 지정하기</title>

  <style>
    p {
      background-color: yellow;
      color: red;
      font-weight: bold;
      font-size: 16pt;
    }
    p.pad {
      color: purple;
      padding: 20px;
    }
    p.mar {
      color: green;
      margin: 30px;
    }
    p.mp {
      color: blue;
      padding: 5%;
      margin: 5%;
    }
  </style>

</head>
<body>
  <p>박스의 안쪽 여백과 바깥쪽 여백 지정</p>
  <p class="pad">(1) 안쪽 여백 지정 - padding 20px</p>
  <p class="mar">(2) 바깥쪽 여백 지정 - margin 30px</p>
  <p class="mp">(3) 안쪽, 바깥쪽 여백 지정 - padding 5%, margin 5%</p>
</body>
</html>


▣ 네 방향 여백 크기 설정

형식 설명
padding-top: 속성값; 위쪽 패딩
padding-bottom: 속성값; 아래쪽 패딩
padding-right: 속성값; 오른쪽 패딩
padding-left: 속성값; 왼쪽 패딩
margin-top : 속성값; 위쪽 마진
margin-bottom : 속성값; 아래쪽 마진
margin-right : 속성값; 오른쪽 마진
margin-left : 속성값; 왼쪽 마진

 

▣ 속성값의 개수에 따라 적용되는 위치

h1 { margin:  5px                    10px                       5px                    10px; }

                           top                     right                    bottom                left

h1 { margin:  5px                    10px                       5px; }

                           top               right & left              bottom 

h1 { margin:  5px                    10px }

                 top & bottom     right & left

h1 { margin:  5px; }

      top & right & bottom & left

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>박스의 여백을 네 방향으로 지정하기</title>

  <style>
    body {
      font-weight: bold;
      font-size: 16pt;
    }
    .mp1 {
      background-color: aqua;
      color: red;
      margin-bottom: 40px;
      padding-left: 50px;
    }
    .mp2 {
      background-color: yellow;
      color: green;
      margin: 20px;
      padding: 10px 20px;
    }
    .mp3 {
      background-color: gray;
      color: purple;
      margin: 50px 15px 20px;
      padding: 20px;
    }
  </style>

</head>
<body>
  <p>박스 모델의 네 방향 여백 지정</p>
  <p class="mp1">mp1</p>
  <p class="mp2">mp2</p>
  <p class="mp3">mp3</p>
</body>
</html>

'웹프로그래밍 CSS3 > CSS3 속성' 카테고리의 다른 글

레이아웃 속성 2  (0) 2025.03.13
레이아웃 속성 1  (0) 2025.03.13
박스 속성 2  (0) 2025.03.13
박스 속성 1  (0) 2025.03.12
테두리 속성  (1) 2025.03.12