BioPlayground

🧬
목록으로

CSS 기본 — 선택자와 박스 모델

CSS 선택자의 원리, 박스 모델의 구조, 그리고 반응형 레이아웃의 기초를 이해합니다.

입문
|
7
|
검증 완료 (2026-07)
진행률0/9 (0%)

CSS 기본 — 선택자와 박스 모델

이 토픽을 마치면

CSS가 HTML에 어떻게 스타일을 입히는지 이해하고, 선택자로 원하는 요소를 골라 디자인을 바꿀 수 있습니다.


CSS는 디자인 담당입니다

HTML이 웹페이지의 뼈대라면, CSS(Cascading Style Sheets)는 입니다. 색상, 크기, 간격, 배치 — 눈에 보이는 모든 디자인을 CSS가 담당합니다.

html
<!-- HTML 파일 안에서 CSS를 적용하는 가장 간단한 방법 -->
<style>
  h1 {
    color: navy;
    font-size: 24px;
  }
  p {
    color: #333;
    line-height: 1.6;
  }
</style>

<h1>제목입니다</h1>
<p>이 문단에 스타일이 적용됩니다.</p>

h1 { ... } — 이것이 CSS 규칙입니다. h1선택자(어떤 요소에?), 중괄호 안이 선언(어떤 스타일을?)입니다.

선택자의 종류

CSS에서 가장 중요한 질문은 "어떤 요소를 골라서 스타일을 입힐 것인가"입니다. 이것을 결정하는 것이 선택자입니다.

css
/* 태그 선택자 — 해당 태그 전체 */
p { color: gray; }

/* 클래스 선택자 — 점(.)으로 시작, 여러 요소에 재사용 */
.highlight { background-color: yellow; }

/* ID 선택자 — 샵(#)으로 시작, 페이지에 하나만 */
#main-title { font-size: 32px; }

/* 자식 선택자 — 특정 요소 안의 요소만 */
.card p { font-size: 14px; }
html
<h1 id="main-title">큰 제목</h1>
<p class="highlight">강조된 문단</p>
<p>일반 문단</p>

실무에서 가장 많이 쓰는 것은 클래스 선택자(.)입니다. 하나의 스타일을 여러 요소에 재사용할 수 있기 때문입니다.

박스 모델

브라우저는 모든 HTML 요소를 박스(상자) 로 취급합니다. 이 박스는 안쪽부터 4개의 층으로 구성됩니다:

text
┌─────────────────────────── margin (외부 간격) ──┐
│  ┌──────────────────────── border (테두리) ───┐  │
│  │  ┌───────────────────── padding (내부 간격) │  │
│  │  │                                        │  │
│  │  │         content (실제 내용)              │  │
│  │  │                                        │  │
│  │  └────────────────────────────────────────┘  │
│  └──────────────────────────────────────────────┘
└──────────────────────────────────────────────────┘
css
.card {
  width: 300px;          /* content 너비 */
  padding: 16px;         /* 내용과 테두리 사이 간격 */
  border: 1px solid #ddd; /* 테두리 */
  margin: 20px;          /* 다른 요소와의 간격 */
}

"왜 width를 300px로 했는데 실제로는 더 넓지?" — padding과 border가 더해지기 때문입니다. 이걸 방지하려면 box-sizing: border-box;를 쓰면 padding과 border가 width 안에 포함됩니다. 거의 모든 프로젝트에서 기본으로 설정합니다.


→ 바이오에 적용: DevBench — 웹 기초