class
속성의 정의 및 사용법
class
속성은
요소에 하나 이상의 클래스 이름을 지정하는 속성입니다.
여러 요소가 동일한 클래스 이름으로 된 목록을 가질 수 있으며,
이 클래스 이름은 CSS나 자바스크립에서 요소를 분류해서 식별하고 선택하여 스타일링 및 조작하는 데 사용됩니다.
사용 목적
class
속성은 글로벌(전역) 속성입니다.
하나의 요소에 여러 개의 클래스 이름을 지정할 수 있습니다. 그래서 class
속성은 클래스 이름으로 된 목록을 지정한다고 말하기도 합니다.
하나의 요소에 여러 개의 클래스 이름을 지정하려면 class
속성의 값에 띄어쓰기로 구분하여 여러 개의 이름을 지정합니다.
또한, 여러 개의 요소가 동일한 클래그 이름을 가질 수 있습니다. CSS나 자바스크립트에서는 클래스의 이름으로 요소를 분류해서 식별하고 선택하여 스타일링하고 조작하는 데 사용합니다.
CSS에서 사용하기
CSS의 .alert
선택자는 요소들 중에서 클래스의 이름이 alert
인 요소들을 분류해서 스타일링합니다. 그리고, CSS의 .caution
선택자는 요소들 중에서 클래스의 이름이 caution
인 요소들을 분류해서 스타일링합니다.
<p class="alert caution">주의할 내용이 있습니다.</p>
요소는 클래스의 이름이 두 개(alert
과 caution
)입니다.
이 요소는 .alert
선택자와 .caution
선택자에 공통으로 분류되었기 때문에 두 선택자에 해당하는 스타일링이 모두 적용됩니다.
서로 다른 요소가 동일한 클래스 이름을 공유할 수 있습니다.
알릴 내용이 있습니다.
문단 요소입니다.
주의할 내용이 있습니다.
문단 요소입니다.
자바스크립트에서 사용하기
다음의 예제는 10개의 <div>
요소가 있는데, 여기서 7개의 <div>
요소에는 box
라는 클래스의 이름이 있는 요소입니다.
버튼을 클릭하면 자바스크립트는 box
라는 클래스의 이름이 있는 요소만 분류해서 텍스트가 box 클래스
에서 box 클래스 반갑습니다.
라고 변경합니다.
이 예제를 보고 알 수 있듯이 자바스크립트에서는 클래스의 이름으로 요소를 분류해서 식별하고 선택하여 스타일링하고 조작하는 데 사용합니다.
class
속성으로 지정한 요소의 클래스 이름은 CSS나 자바스크립에서 요소를 분류해서 식별하고 선택하여 스타일링 및 조작하는 데 사용됩니다.
이러한 것들은 class
속성을 사용하는 이유입니다.
단 하나의 요소에도 적용 가능
앞서 설명한 class
속성을 사용하는 이유 이외에도 class
속성의 특정 이름을 단 하나의 요소에만 적용해도 됩니다. 이는 마치 요소를 id
속성으로 웹 페이지 내에서 유일한 고유 식별자로 설정하기 위해 사용하는 것과 유사하지만 근본적인 차이점이 있습니다.
class
속성의 이름을 단 하나의 요소에 사용하는 것은 단지 해당 요소가 class
속성의 이름으로 분류할 때 하나일 뿐이라는 것이지 id
속성으로 웹 페이지 내에서 유일한 고유 식별자로 설정하기 위해 사용한다라는 의미가 아닙니다.
만약에 하나의 요소에만 CSS를 적용하기 위한 목적으로만 선택자로 id
속성의 값을 사용한다면, 적용은 잘 되지만 id
속성을 사용하는 해당 요소가 유일한 고유 식별자로의 중요한 목적은 없는 것으로, 이는 향 후 유지보수 등에서 id
속성을 사용한 코드의 맥락(불필요하게 id
속성을 사용한 것을 모르고... 유일한 고유 식별자를 왜?)을 이해하는데 방해가 될 수 있습니다.
주의할 점
하나의 HTML 요소에 여러 개의 클래스 이름을 지정하려면 class
속성의 값에 띄어쓰기로 구분하여 여러 개의 이름을 지정해야 합니다. 하나의 HTML 요소에 여러 개의 클래스 속성과 이름을 사용하지 말아야 합니다.
브라우저 호환성
속성 |
데스크탑 Chrome
|
데스크탑데스크탑 Edge
|
데스크탑 Firefox
|
Safari
|
---|---|---|---|---|
class
|
1 | 12 | 1 | 4 |
명세서
명세서 사양 | |
---|---|
class
|
HTML Standard #global-attributes:classes-2 |