문법 · 웹 · beginner

CSS 기초: 박스·플렉스·변수

여백, display, flex, 커스텀 속성으로 레이아웃을 잡습니다.

배우기 · 웹 미리보기 (HTML·CSS·JS) · 16분 · 2/6 · css · preview

이 트랙 목차 (6)
  1. 1. HTML 뼈대와 미리보기 계약
  2. 2. CSS 기초: 박스·플렉스·변수
  3. 3. DOM과 이벤트
  4. 4. 미리보기 워크플로: 멀티파일과 샌드박스
  5. 5. 폼과 입력: label·value·submit
  6. 6. 레이아웃: flex로 가로·세로 배치

박스 모델

요소는 content · padding · border · margin 층을 가집니다.

.card {
  padding: 1rem;
  border: 1px solid #ccc;
  margin: 0.5rem 0;
  box-sizing: border-box; /* width에 padding 포함 */
}

Flex로 한 줄 배치

.row {
  display: flex;
  gap: 0.75rem;
  align-items: center;
  justify-content: space-between;
}

세로 스택은 flex-direction: column.

CSS 변수

:root {
  --ink: #1c1916;
  --accent: #0b5c45;
}
button {
  background: var(--accent);
  color: #fff;
}

테마를 바꿀 때 변수만 고치면 됩니다.

선택자 우선순위 (감각)

인라인 > ID > class > 태그.
!important는 최후 수단입니다.

반응형 맛보기

@media (max-width: 640px) {
  .row { flex-direction: column; }
}

단위

display

block inline inline-block none flex grid
숨길 때 display: none은 레이아웃에서 제거, 보이기만 끄면 visibility/opacity.

연습

카드 하나: 패딩, 테두리, 제목·버튼 가로 flex.
좁은 폭에서 column으로 바뀌게 미디어 쿼리 추가.

더 깊게

읽은 뒤 연습장에서 예제 코드를 한 번 타이핑해 보세요. 눈으로만 보면 하루 뒤 사라집니다.

관련 원리 카드와 문제 태그로 바로 이어서 풀면, 문법·패턴이 한 묶음으로 남습니다.

막히면 30분 규칙: 입력을 로그로 확인 → 기대/실제 한 줄 비교 → 그래도 안 되면 배우기 레슨으로 잠시 복귀.

관련 짧은 원리

관련 문제