CSS 이론 (2) - 박스 모델 / 우선순위 / 단위

2025. 3. 26. 04:11·HTML, CSS
728x90

1. CSS 박스 모델

웹 페이지에서 모든 요소는 하나의 박스로 표현된다. 이 박스는 내용, 패딩, 테두리, 마진으로 구성된다.

  • Content (내용): 요소의 실제 내용이 들어가는 영역
  • Padding (패딩): 내용과 테두리 사이의 여백
  • Border (테두리): 요소를 감싸는 경계선
  • Margin (마진): 요소 바깥쪽의 여백. 다른 요소와의 간격을 조정하는 데 사용됨
<div class="box">이것은 박스 모델입니다!</div>
body {
  background-color: antiquewhite;
}
.box {
  width: 200px;
  padding: 20px 40px;
  border: 10px solid gray;
  margin: 15px;
  background-color: lightblue;
}

 

요소의 전체 크기는 width + padding + border로 계산된다.

2. CSS 우선순위

CSS에서 여러 스타일이 적용될 때 어떤 스타일이 우선 적용될지 결정하는 기준이 CSS 우선순위이다.

CSS 선택자는 다음과 같은 순서로 우선순위를 가진다.

  1. 인라인 스타일 (1000점)
  2. ID 선택자 (100점)
  3. 클래스, 속성, 가상 클래스 선택자 (10점)
  4. 태그 선택자 (1점)
  5. 전체 선택자 및 상속된 스타일 (0점)

!important를 사용하면 어떤 규칙보다 우선 적용된다.

<p id="unique" class="inline-style highlight">CSS 우선순위 예시입니다!</p>
p {
  color: blue; 
}

.highlight {
  color: red; 
}

#unique {
  color: green; 
}

p.inline-style {
  color: yellow; 
}

위 예시에서 ID 선택자의 우선 순위가 가장 높기 때문에 글자는 초록색이 된다.

클래스 선택자에 !important를 추가하면 해당 스타일이 적용된다.

p {
  color: blue; 
}

.highlight {
  color: red; 
}

#unique {
  color: green; 
}

p.inline-style {
  color: yellow !important; 
}

3. CSS 단위

CSS에서 크기나 간격, 위치를 설정할 때 다양한 단위를 사용할 수 있다.

(1) 절대 단위

  • px: 화면에서 고정된 크기, 일반적으로 가장 많이 사용됨
  • cm, mm, in: 인쇄용 스타일에 사용

(2) 상대 단위

  • %: 부모 요소의 크기에 대한 비율
  • em: 부모 요소의 글꼴 크기를 기준 (ex. 2em은 부모 폰트 크기의 2배)
  • rem: 최상위 html 요소의 글꼴 크기를 기준
  • vw, vh: 뷰포트의 너비, 높이 기준 (ex. 50vw는 화면 너비의 50%)
  • vmin, vmax: 뷰포트의 최소값 또는 최대값을 기준
  <div class="outer">
    20px
    <div class="inner">
      40px
    </div>
  </div>
.outer {
  width: 500px;
  height: 500px;
  background-color: bisque;
  font-size: 20px;
}

.inner {
  width: 50%;
  height: 25%;
  background-color: violet;
  font-size: 2em;
}

728x90

4. 실습하기

  <style>
    .box {
      padding: 10px;
      border: 3px solid blue;
      margin: 20px;
    }

    h1 {
      color: green;
    }

    .highlight {
      color: red;
    }

    #special {
      color: yellow;
    }

    .content {
      width: 50%;
      font-size: 1.5em;
    }
  </style>

728x90

'HTML, CSS' 카테고리의 다른 글

CSS 박스 모델  (0) 2025.04.14
CSS 기본 - 사용법, 선택자, 상속  (0) 2025.04.14
HTML 기초  (0) 2025.04.02
CSS 이론 (1) - 적용 방법 / 선택자 / 주요 속성  (1) 2025.03.23
HTML 구조 및 요소(태그)  (0) 2025.03.22
'HTML, CSS' 카테고리의 다른 글
  • CSS 기본 - 사용법, 선택자, 상속
  • HTML 기초
  • CSS 이론 (1) - 적용 방법 / 선택자 / 주요 속성
  • HTML 구조 및 요소(태그)
gamzaggang7
gamzaggang7
    250x250
  • gamzaggang7
    abcdefghklpqrstuvwxyz
    gamzaggang7
  • 전체
    오늘
    어제
    • 분류 전체보기
      • CS
        • OS
        • 자료구조_알고리즘
      • Java
      • Javascript
      • Node.js
      • React
      • Vue.js
      • 코딩테스트
        • 백준-Java
        • 프로그래머스-JS
      • Canvas
      • HTML, CSS
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    npm
    Next.js
    Node.js
    fegaussianblur
    vue.js
    자바공부
    프로그래머스
    dat.gui
    해시
    css
    canvas
    자바스크립트
    큐
    스택
    fecolormatrix
    BFS
    오즈코딩스쿨
    vue modal
    정렬
    백준풀이
    서버구축
    2차원배열
    props
    vue animation
    til
    자바백준풀이
    React
    hashchange
    자바
    라우팅
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
gamzaggang7
CSS 이론 (2) - 박스 모델 / 우선순위 / 단위
상단으로

티스토리툴바