01 / 14
SESSION 19 · Part 5 웹 개발

CSS와
Tailwind CSS

박스 모델 · Flexbox · Grid · 유틸리티 클래스 — 웹을 꾸미는 언어

02 / 14
🎨

CSS
필요할까?

HTML만 쓴 페이지는 1990년대 디자인처럼 보인다.
CSS가 있어야 색상·여백·레이아웃이 살아난다.

그리고 Tailwind CSS는 CSS를 더 빠르고 직관적으로 쓸 수 있게 해준다 — AI가 가장 잘 다루는 스타일링 방식이기도 하다.

03 / 14
🎯

이 세션에서
배우는 것

📦
박스 모델
모든 요소가 박스라는 사실, content·padding·border·margin의 구조
📐
Flexbox & Grid
현대 CSS 레이아웃의 양대 축, 1차원과 2차원 정렬
💨
Tailwind CSS
유틸리티 클래스로 HTML 안에서 바로 스타일링하는 방식
04 / 14
📦

박스 모델 —
모든 요소는 박스다

HTML의 모든 요소는 네 겹의 박스로 둘러싸여 있다. 이 구조를 알면 여백 문제의 90%가 풀린다.

margin · 외부 여백
border · 테두리
padding · 내부 여백
content · 실제 내용
05 / 14

박스의 네 겹, 무엇이 다른가

안쪽부터 바깥쪽으로 — 각 겹이 담당하는 역할이 다르다.

1
content — 실제 내용
텍스트나 이미지 등 보여주려는 본체. width, height로 크기 지정
2
padding — 내부 여백
내용과 테두리 사이 공간. 박스 내부에 숨 쉴 자리를 주는 역할
3
border — 테두리
박스의 윤곽선. 두께·색·스타일을 지정 가능
4
margin — 외부 여백
박스와 다른 박스 사이의 간격. 옆 요소와의 거리를 만든다
06 / 14

Flexbox vs Grid

현대 CSS 레이아웃의 양대 축. 차원의 수가 결정적인 차이다.

📏 Flexbox · 1차원
한 줄(가로 또는 세로) 정렬
버튼들, 네비게이션 메뉴, 아이콘 정렬
가운데 정렬에 가장 강력
속성: justify-content, align-items
🔲 Grid · 2차원
행과 열의 격자 배치
대시보드, 갤러리, 복잡한 레이아웃
정확한 칸 단위 제어 가능
속성: grid-template-columns, gap
07 / 14
💨

Tailwind CSS —
CSS 안 쓰고 CSS 쓰기

전통적 CSS는 별도 파일에 스타일을 정의했다. Tailwind는 미리 만들어둔 클래스를 HTML에 직접 붙인다.

전통 CSS
  • 별도 .css 파일에 클래스 정의
  • 클래스 이름 짓기에 시간 소비
  • HTML과 CSS 사이 왔다 갔다
  • 안 쓰는 스타일이 점점 쌓임
Tailwind CSS
  • HTML에 유틸리티 클래스만 조합
  • 네이밍 고민 없이 즉시 작성
  • 한 파일만 보면 디자인 파악 가능
  • 실제 사용한 클래스만 빌드에 포함
08 / 14

실제 코드로 비교

같은 결과를 만드는 두 가지 방식 — 길이와 흐름이 완전히 다르다.

/* 전통 CSS */ .btn-primary { background: #3b82f6; color: white; padding: 0.5rem 1rem; border-radius: 0.375rem; } <button class="btn-primary">저장</button> /* Tailwind CSS */ <button class="bg-blue-500 text-white px-4 py-2 rounded-md">저장</button>

💡 Tailwind는 한 줄 — HTML만 봐도 이 버튼이 어떻게 생겼는지 즉시 알 수 있다.

09 / 14
🧰

자주 쓰는 Tailwind 클래스

이 정도만 익히면 AI가 만든 코드의 80%는 읽힌다.

flex grid items-center justify-between p-4 px-6 py-2 m-2 text-lg text-xl font-bold text-center bg-blue-500 bg-gray-100 text-white rounded-md rounded-full shadow-lg w-full h-screen hover:bg-blue-700 md:flex

💡 패턴은 단순 — 속성-값이 하이픈으로 연결된다 (text-lg, bg-blue-500).

10 / 14

Tailwind 클래스 읽는 법

이름의 구조를 알면 외울 필요 없이 조립해서 쓸 수 있다.

1
간격: p-(padding), m-(margin)
p-4 = padding 1rem. p-2, p-4, p-6, p-8 ... 숫자가 크면 여백도 큼
2
색상: bg-(배경), text-(글자), border-(테두리)
bg-blue-500. 색이름 + 50~950 농도. 숫자 클수록 진함
3
상태: hover:, focus:, active:
hover:bg-blue-700 = 마우스 올렸을 때 진한 파랑으로
4
반응형: sm:, md:, lg:, xl:
md:flex = 중간 화면 이상에서만 flex. 모바일과 데스크톱 분기
11 / 14
🧱

Tailwind는 레고 부품 카탈로그

스타일을 직접 깎는 대신, 미리 만들어진 부품을 골라 조립한다.

🧱 레고 비유
전통 CSS
=
맞춤 조각 — 부품을 직접 깎고 색칠해 만든다
Tailwind
=
레고 카탈로그 — 표준 부품을 가져다 조립
bg-blue-500
=
파란 4x2 블록 — 이미 있는 부품 번호
p-4
=
여백 1cm 패드 — 사이즈가 정해진 부품
12 / 14
🤖

AI가 Tailwind를 사랑하는 이유

Cursor·Claude·Copilot이 만드는 웹 코드의 대부분이 Tailwind인 데는 이유가 있다.

📄
한 파일에 다 있다
CSS와 HTML을 오갈 필요 없어 AI가 컨텍스트를 잃지 않음
🎯
정확한 결과
클래스 이름이 표준화되어 있어 AI가 의도한 대로 결과 나옴
즉시 미리보기
생성 즉시 화면 결과 확인. 수정 사이클이 매우 빠름

💡 Tailwind를 읽을 줄만 알면 AI 결과물을 검증하고 수정 요청할 수 있다.

13 / 14
📌

핵심 정리

📦
박스 모델
content + padding +
border + margin
📏
Flexbox
1차원 정렬
한 줄로 배치
🔲
Grid
2차원 정렬
행·열 격자
💨
Tailwind
유틸리티 클래스
HTML 안에서 스타일링
🧰
자주 쓰는 클래스
flex, p-4, text-lg,
bg-blue-500, hover:
🤖
AI 친화적
한 파일에 모든 정보
AI 생성 코드의 표준
14 / 14
🚀

다음 세션
Session 20 · JavaScript 기초

HTML로 구조를, CSS·Tailwind로 디자인을 입혔다.
이제는 화면을 동적으로 움직이게 하는 언어 — JavaScript의 기초를 배운다.

💡 기억할 것: 모든 요소는 박스다. Tailwind는 그 박스들을 빠르게 조립하는 부품 카탈로그다.

슬라이드 목록