1. 🎨 CSS 기초 문법과 스타일 적용 방식 완벽 이해하기
HTML이 웹의 ‘뼈대’라면,
CSS는 그 위에 살과 피부를 입히는 디자인 언어다.
이번 글에서는 CSS의 핵심 개념부터
스타일이 HTML에 적용되는 3가지 방식까지
기초를 완벽히 다지고 실무로 넘어갈 수 있도록 정리했다.
💡 1. CSS란 무엇인가?
“CSS는 Cascading Style Sheets의 약자 — HTML을 꾸며주는 언어다.”
HTML이 내용(content) 을 담당한다면,
CSS는 표현(presentation) 을 담당한다.
즉, HTML은 ‘무엇을 보여줄지’를 정의하고,
CSS는 ‘어떻게 보여줄지’를 결정한다.
예를 들어 👇
<p>이 문장은 평범합니다.</p>
<p style="color: tomato;">이 문장은 CSS로 꾸몄습니다.</p>
💬 두 번째 문장은 CSS 스타일 속성이 적용되어 색상이 바뀌었다.
🧱 2. CSS 기본 문법 구조
CSS는 아래와 같은 선택자(selector) + 선언(declaration) 구조로 이루어진다.
선택자 {
속성: 값;
}
예시 👇
p {
color: blue;
font-size: 18px;
}
구성 요소 설명
| 선택자(selector) | 어떤 HTML 요소에 스타일을 적용할지 지정 |
| 속성(property) | 변경할 스타일 항목 (예: color, font-size) |
| 값(value) | 속성에 적용할 구체적인 값 |
| 세미콜론(;) | 각 선언의 끝 표시 (필수!) |
💡 한 줄이라도 세미콜론을 빠뜨리면 스타일이 무시될 수 있다.
🧩 3. CSS를 HTML에 적용하는 3가지 방법
✅ ① 인라인 스타일 (Inline Style)
HTML 요소 안에 직접 작성하는 방식 👇
<p style="color: green; font-size: 20px;">인라인 스타일 예시</p>
특징
- 빠르고 간단
- 단, 코드 유지보수가 어려움 (HTML과 디자인이 섞임)
💬 인라인은 “한두 개 수정용”으로만 쓰는 게 좋다.
✅ ② 내부 스타일 (Internal Style Sheet)
HTML <head> 태그 안에 <style> 블록으로 작성 👇
<head>
<style>
h1 {
color: navy;
text-align: center;
}
</style>
</head>
특징
- 한 문서 안에서만 적용됨
- HTML과 분리되지 않아, 규모가 커지면 관리 어려움
✅ ③ 외부 스타일 (External Style Sheet)
가장 권장되는 방식 👇
<link rel="stylesheet" href="style.css">
/* style.css */
h1 {
color: royalblue;
font-size: 32px;
}
특징
- 여러 HTML 문서에 공통 적용 가능
- HTML과 CSS가 분리되어 유지보수에 최적
- 실무에서는 거의 100% 이 방식 사용
⚙️ 4. CSS 적용 우선순위 (Cascading)
“Cascading”은 ‘위에서 아래로 흘러내리는 우선순위 규칙’을 의미한다.
같은 요소에 여러 스타일이 적용될 때,
어떤 것이 우선되는지 결정하는 규칙이다.
우선순위 순서 적용 예시
| 1️⃣ 인라인 스타일 | <p style="color:red"> |
| 2️⃣ 내부/외부 스타일 (나중에 작성된 것) | <style> 또는 link |
| 3️⃣ 브라우저 기본 스타일 | <p>의 기본 검정색 |
✅ 가장 구체적인 규칙이 우선 적용된다.
즉, 인라인 > 내부/외부 > 브라우저 기본 순서.
💡 추가 규칙: “나중에 읽힌 CSS가 이긴다”
같은 선택자라면, CSS 파일이나 <style> 태그 안에서 나중에 선언된 스타일이 덮어쓴다.
p {
color: blue;
}
p {
color: red;
}
➡️ 결과: 빨간색 적용
🎯 5. CSS 선택자 맛보기
CSS는 “누구에게 스타일을 입힐지”를 선택하는 언어다.
/* 태그 선택자 */
p { color: gray; }
/* 클래스 선택자 */
.text-red { color: red; }
/* 아이디 선택자 */
#main-title { font-size: 32px; }
💬 기본 선택자 세 가지는 다음 편에서 깊게 다룰 예정이다.
🧮 6. 단위(Unit) 이해하기
단위 설명 예시
| px | 절대 단위 (픽셀 기준) | font-size: 16px; |
| % | 부모 요소 기준 비율 | width: 50%; |
| em | 부모 폰트 크기 기준 배수 | padding: 1.5em; |
| rem | 루트(html) 기준 배수 | font-size: 1rem; |
| vh, vw | 화면(viewport) 비율 단위 | height: 100vh; |
💡 실무에서는 rem과 %, vh/vw 조합이 반응형 웹에서 가장 많이 쓰인다.
🖥️ 7. 개발자 도구로 스타일 확인하기
크롬 기준:
1️⃣ 요소 우클릭 → 검사(Inspect) 클릭
2️⃣ 오른쪽 Styles 탭에서 적용된 CSS 확인 가능
3️⃣ 우선순위, 상속된 속성, 오버라이드 상태를 실시간 확인
💬 개발자 도구는 CSS 실습의 필수 도구다.
브라우저마다 적용 결과를 즉시 테스트할 수 있다.
⚡ 8. CSS 상속의 개념 (Inheritance)
일부 속성은 부모 요소의 스타일을 자식이 자동으로 물려받는다.
<div style="color: blue;">
<p>이 문장도 파란색으로 표시됩니다.</p>
</div>
💡 상속되는 대표 속성
- color
- font-family
- line-height
단, margin, padding, border 같은 레이아웃 관련 속성은 상속되지 않는다.
🧠 9. CSS 작성 시 자주 하는 실수
❌ 잘못된 예 💡 올바른 예
| color = red | color: red; |
| font-size: 16 px; | font-size: 16px; |
| {color:red} | p { color: red; } |
| 세미콜론 생략 | 속성마다 ; 꼭 붙이기 |
💬 CSS는 문법이 단순하지만, 세세한 규칙이 엄격하다.
🏁 10. 마무리 — “CSS는 디자인이 아니라 구조적 언어다”
CSS는 단순히 예쁜 색을 입히는 도구가 아니라,
웹페이지의 정보 구조를 시각적으로 표현하는 언어다.
💬 “HTML이 말하는 내용을, CSS가 보여준다.”
다음 편에서는
✅ 2. CSS 선택자(Selector) 정복 — 태그부터 가상 클래스까지
를 통해 HTML 요소를 정밀하게 선택하고 제어하는 방법을 배워보자.