반응형
jwss
jw 노트
jwss
전체 방문자
오늘
어제
  • 분류 전체보기 (32)
    • 퍼블리셔 일상 (2)
    • Programming (25)
      • HTML (4)
      • CSS (17)
      • JavaScript (2)
      • jQuery (2)
    • Git (2)
    • Web (0)
    • 강의 정리 (3)
      • 퍼블리싱 수업 (3)
      • 노마드코더 (0)

블로그 메뉴

  • 홈
  • Programming

공지사항

인기 글

태그

  • 기본개념
  • js
  • HTML
  • 웹퍼블리셔
  • GIT
  • css
  • SASS

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
jwss

jw 노트

[CSS 기초] 박스모델 Box Model (margin, padding, border)
Programming/CSS

[CSS 기초] 박스모델 Box Model (margin, padding, border)

2021. 11. 2. 20:46

css에서 모든 것은 box model로 이루어져있으며 이 box model을 이해해야 CSS로 레이아웃을 구성할 수 있습니다.

 

box model은 margin(외부 여백), border(테두리), padding(내부 여백), content로 구성됩니다.

 

 

box-sizing: border-box를 입력해줘야 하는 이유

box-sizing 속성은 요소의 너비와 높이를 계산하는 방법을 지정합니다.

box-sizing: border-box를 설정하지 않은 박스모델은 지정한 너비와 높이는 요소의 Content 크기에만 적용되므로 

요소에 Border나 Padding이 있을 경우 지정한 높이나 너비에서 이것들을 더하여 계산합니다.

 

예시를 한 번 들어볼게요.

 

 div{     
    width: 300px;
    height: 200px;
    border: 10px solid rgb(187, 61, 86);
    padding: 20px;
    margin: 50px;
    background-color: cornsilk;
    text-align: center;
    line-height: 200px;
 }

 

해당 CSS 코드로 div 태그를 꾸며 줬을 때, 너비 300px과 높이 200px을 지정해주었으나 

 

총 너비 360px, 높이 260px의 박스가 만들어졌습니다. 위에서 말한대로 Border와 Padding 값이 포함된 것인데요.

 

Border와 Padding 값은 상하좌우에 모두 들어가기 때문에

 

너비는 지정한 너비 300px + Border-left 10px + Border-right 10px + Padding-left 20px + Padding-right 20px = 총 360px이 됩니다.

 

높이는 지정한 높이 200px + Border-top 10px + Border-bottom 10px + Padding-top 20px + Padding-bottom 20px = 총 260px이 됩니다.

 

 

 

 

 

 

 

 

box-sizing: border-box를 설정해준다면

너비가 지정한대로 300px과 200px로 설정된 것을 볼 수 있습니다.

 

 

 

 

 

 

 

 

 

 

 

Magin, Padding 속성 크기 지정법

  • 하나의 크기 값을 지정하는 경우
margin / padding : 10px

 > top, bottom, right, left 상하좌우가 모두 적용됩니다.

 

  • 두 개의 크기 값을 지정하는 경우
margin / padding: 10px 20px

 > top, bottom / right, left 적용.

 > 첫번째 자리는 상하, 두번째 자리는 좌우 적용.

 

  • 세 개의 크기 값을 지정하는 경우
margin / padding: 10px 20px 30px;

 > top / right, left / bottom 적용.

 > 첫번째 자리 상, 두번째 자리 좌우, 세번째 자리 하

 

  • 네 개의 크기 값을 지정하는 경우
margin / padding: 10px 20px 30px 40px;

 > top / right / bottom / left 적용.

 > 첫번째 자리 상, 두번째 자리 우, 세번째 자리 하, 네번째 자리 좌 

반응형

'Programming > CSS' 카테고리의 다른 글

[CSS 기초] 엘리먼트 배치: float + clear: both, overflow: hidden  (0) 2021.11.07
[CSS 기초] 엘리먼트 수직, 수평 중앙 정렬하기 (vertical align, flex, text-align, position...)  (0) 2021.11.06
[CSS 기초] 블록 요소(block element) vs 인라인 요소(inline element) vs 인라인 블록 요소 (inline-block element)  (0) 2021.11.02
[CSS 기초] CSS background 배경을 제어하는 속성  (0) 2021.11.01
[CSS 기초] CSS 텍스트 스타일  (0) 2021.10.28
    'Programming/CSS' 카테고리의 다른 글
    • [CSS 기초] 엘리먼트 배치: float + clear: both, overflow: hidden
    • [CSS 기초] 엘리먼트 수직, 수평 중앙 정렬하기 (vertical align, flex, text-align, position...)
    • [CSS 기초] 블록 요소(block element) vs 인라인 요소(inline element) vs 인라인 블록 요소 (inline-block element)
    • [CSS 기초] CSS background 배경을 제어하는 속성
    jwss
    jwss
    안녕하세요. 웹퍼블리셔 공부 블로그입니다.

    티스토리툴바