• 고객센터
  • ★ 웹 무료강의

★ 웹 무료강의

모던DS 웹에이전시

웹 무료강의 | 프론트엔드 강의

CSS CSS 선택자 - id와 class의 차이

페이지 정보

profile_image
작성자 모던DS
조회 1회 작성일 26-02-25 23:01

본문

CSS 선택자 - id와 class의 차이


HTML 요소에 스타일을 입히기 위해 이름을 붙이는 두 가지 대표적인 방법입니다.


1. 아이디 (id)

  • 특징: 페이지 내에서 단 하나의 요소에만 고유하게 부여하는 이름입니다. 중복해서 사용할 수 없습니다.

  • 용도: 상단 바(header), 푸터(footer), 로고와 같이 페이지에 딱 하나만 존재하는 중요한 요소를 지정할 때 씁니다.

  • CSS 기호: 이름 앞에 # (해시)를 붙입니다.

  • 우선순위: 클래스보다 스타일 적용 우선순위가 높습니다.


2. 클래스 (class)

  • 특징: 여러 요소에 중복해서 사용할 수 있는 이름입니다. 하나의 태그에 여러 개의 클래스를 동시에 붙일 수도 있습니다.

  • 용도: 게시글 목록, 버튼 스타일 등 반복적으로 나타나는 여러 요소에 공통된 스타일을 한꺼번에 입힐 때 씁니다.

  • CSS 기호: 이름 앞에 . (마침표)를 붙입니다.



3. 한눈에 비교하기

구분

아이디 (id)

클래스 (class)

중복 사용

불가능 (고유함)

가능 (재사용)

CSS 기호

# (예: #header)

. (예: .btn)

우선순위

높음 (100점)

낮음 (10점)

비유

사람의 주민등록번호

사람의 직업(학생, 의사 등)


4. 간단 예제 코드

<style>

/* CSS 부분 */

#main-title { color: red; text-align: center; }

.content { font-size: 16px; line-height: 1.5; }

.blue-text { color: blue; }

</style>


 HTML 

<h1 id="main-title">오늘의 뉴스</h1>

<p class="content">첫 번째 뉴스 내용입니다.</p>

<p class="content blue-text">두 번째 뉴스 내용입니다.</p>


 f6da24a1423ab7b19980bdad13955e9a_1772029054_3189.png 


외부 스타일시트 가져오기

<link rel="stylesheet" href="style.css">


 HTML 

<!DOCTYPE html>

<html lang="ko">

<head>

<meta charset="UTF-8">

<title>외부 스타일시트 연결</title>

<link rel="stylesheet" href="style.css">

</head>

<body>

<h1 id="main-title">오늘의 뉴스</h1>

<p class="content">첫 번째 뉴스 내용입니다.</p>

<p class="content blue-text">두 번째 뉴스 내용입니다.</p>

</body>

</html>




5. 요약: 언제 무엇을 쓸까?

  1. 특정한 하나의 구역을 명확히 구분하고 싶다면 id를 사용하세요.

  2. 디자인 요소를 여러 곳에서 돌려쓰고 싶다면 class를 사용하세요.

  3. 실무 팁: 대부분의 스타일 작업은 재사용성이 높은 class를 위주로 사용하고, id는 자바스크립트 연결이나 페이지 내 이동(앵커) 목적으로 주로 활용하는 추세입니다.



 ID와 Class의 심화 이해 


1. 이름 짓기 규칙 (Naming Convention)

ID와 Class 이름을 지을 때는 전 세계 개발자들 사이의 약속이 있습니다.

  • 영문자, 숫자, 하이픈(-), 언더바(_)만 사용 가능합니다.

  • 숫자로 시작할 수 없습니다. (예: 1st-content (X) → content-1st (O))

  • 대소문자를 구분하지만, 보통 소문자로 시작하는 것이 관례입니다.



2. 스타일 우선순위 (점수 시스템)

동일한 태그에 ID와 Class 스타일이 충돌하면 누가 이길까요? CSS는 점수가 높은 스타일을 먼저 적용합니다.

선택자 종류

점수

비유

태그 선택자 (p, div)

1점

보병

클래스 선택자 (.name)

10점

기사

아이디 선택자 (#name)

100점

장군

인라인 스타일 (style="...")

1000점

국왕

핵심: 아무리 많은 클래스를 겹쳐 써도, 단 하나의 ID 스타일을 이길 수 없습니다.



3. 다중 클래스 (Multiple Classes)

ID는 오직 하나만 가질 수 있지만, 클래스는 공백을 구분자로 여러 개를 가질 수 있습니다. 이를 통해 스타일을 조립하듯 사용합니다.

HTML

<button class="btn primary-red">확인</button>

<button class="btn primary-blue">취소</button>



4. 실무에서의 활용 (Best Practice)

  • ID를 지양하는 이유: ID는 점수가 너무 높아서 나중에 스타일을 덮어쓰기가 매우 어렵습니다. 그래서 최근 웹 디자인 트렌드는 거의 모든 스타일을 클래스(.)로 작업하는 것을 권장합니다.

  • ID의 진짜 용도:

    1. 자바스크립트 연동: 특정 요소를 정확히 집어내어 동작(클릭 이벤트 등)을 줄 때.

    2. 앵커(Anchor) 기능: href="#section1"처럼 클릭 시 해당 위치로 화면을 이동시킬 때.


5. 요약 코드 실습

CSS

/* 10점 */

.error-text { color: red; }


/* 100점 (클래스보다 우선 적용) */

#special-notice {