📌 CSS 적용 방식 3가지
방식위치예시
| ✅ 인라인 스타일 | HTML 태그 안 | <div style="color:red;">내용</div> |
| ✅ 내부 스타일 시트 | <style> 안 | <style> div { color:red; } </style> |
| ✅ 외부 스타일 시트 | css 파일로 분리 | <link rel="stylesheet" href="app.css"> |
🧠 선택자 정리
선택자설명예시
| * | 전체 요소 선택 | * {} |
| 태그명 | 해당 태그 전체 | div {} |
| .클래스명 | class="이름" 인 요소 | .red {} |
| #아이디명 | id="이름" 한 요소 | #x1 {} |
💡 클래스 vs 아이디
구분클래스 (class)아이디 (id)
| 사용 대상 | 여러 개의 요소 | 단 하나의 요소 |
| 선언 방식 | .클래스명 | #아이디명 |
| HTML 예시 | <div class="box"> | <div id="main"> |
✅ 한 요소에 클래스는 여러 개 부여 가능, 아이디는 하나만 가능
🔎 주요 스타일 속성 정리
속성명설명예시
| color | 글자 색상 | color: red; |
| font-size | 글자 크기 | font-size: 3em; or 16px; |
| font-weight | 굵기 | font-weight: bold; |
| font-style | 기울임 | font-style: italic; |
| background-color | 배경색 | background-color: black; |
em 단위는 부모 글자 크기 기준으로 배수 지정
1em = 기본 크기, 2em = 두 배 크기
⚔️ CSS 우선순위(Cascade Priority)
❗ 같은 요소에 여러 스타일이 적용될 경우, 누가 더 센지 우선순위로 결정해.
우선순위 순서 (높을수록 강함)
- 인라인 스타일 → style="..."
- id 선택자 → #x1 {}
- class 선택자 / 속성 선택자 / 가상 클래스 → .red {}
- 태그 선택자 → div {}
- 전체 선택자 → * {}
- 외부 스타일 시트 < 내부 스타일 시트 < 인라인 스타일
🎯 즉, 같은 스타일이 충돌하면 인라인 스타일이 가장 먼저 적용되고, 나머지는 위 순서대로 밀려남.
💻 예제 설명
<div style="color: red;">안녕하세요</div> <!-- 인라인 스타일: 무조건 red 적용 -->
<div id="x1">안녕하세요</div> <!-- 내부 스타일에서 id 선택자: blue 적용 -->
<div>안녕하세요</div> <!-- 기본 div: 별도 스타일 없음 -->
<div class="big-font red-color">안녕하세요</div> <!-- 외부 스타일의 클래스 스타일 2개 적용 -->
<div class="red-color">안녕하세요</div> <!-- 외부 스타일에서 red-color 적용 -->
외부 CSS (app.css 예시)
.red-color {
color: green;
}
.big-font {
font-size: 3em;
}
🧪 실전 우선순위 예시
<!-- 모두 같은 요소일 때 -->
<div style="color:red;" class="red-color" id="x1">텍스트</div>
어떤 색이 적용될까? → red
왜냐면 style="..."는 인라인 스타일이기 때문에 우선순위 1위!
🎯 요약정리
요소설명
| style="" | 가장 높은 우선순위 (무조건 적용됨) |
| #id | 고유한 요소 선택 (강력함) |
| .class | 여러 요소에 동일 스타일 부여 가능 |
| 태그 선택자 | 약하지만 기본 설정에 유용 |
| .class1.class2 | 여러 클래스 동시 적용 가능 |
| 클래스 여러 개 적용 시 | 스타일이 겹치면, 후순위 속성 덮어쓰기됨 |
💡 꿀팁
- 클래스는 띄어쓰기해서 여러 개 적용 가능 (class="big red-color")
- 아이디는 하나의 요소에만 사용
- 우선순위 헷갈리면 F12 개발자도구에서 확인하면 정확함
'중앙정보기술인재개발원 > HTML&CSS&JS' 카테고리의 다른 글
| [JS] | 비동기, Promise,async,await (0) | 2025.04.23 |
|---|---|
| [JS] | 클로저, Closer (0) | 2025.04.22 |
| [JS] | 변수,연산자,조건문 (1) | 2025.04.21 |
| [HTML] | 기초정리, 태그, layout (0) | 2025.04.21 |
| [HTML] 기초 정리 (5) | 2025.04.16 |