반응형
html의 특정 요소에만 다른 효과를 주고 싶을 때, 해당 요소에 클래스명 또는 아이디값을 할당하여 처리가 가능하다. 클래스(class)와 아이디(id)는 얼핏 보기엔 똑같은 기능을 하는 것 같지만, 알고 보면 이 둘은 큰 차이점을 가지고 있다.
이름을 불러오는 방식
클래스를 불러올 때는 클래스명 앞에 마침표(.)를 찍어준다. 아이디를 불러올 때는 아이디값 앞에 샵(#) 표시를 해준다. 아래는 아이디값과 클래스명을 모두 가진 <p>태그가 있고, 이것을 css를 이용하여 꾸며준 예시이다.
<p id="attendance" class="name"> 김영희 </p>
<style>
#attendance {
color: grey;
font-size: 16px;
}
.name {
text-align: center;
}
</style>
중복 사용 여부
클래스는 중복 사용이 가능하여, 동일한 클래스명을 페이지의 여러 곳에 사용해도 무방하다. 그러나 아이디는 중복으로 사용할 수 없다. 한 개의 아이디는 페이지에서 딱 한번만 사용해야 한다.
<!-- name 클래스를 여러 곳에 중복으로 사용할 수 있음 -->
<p class="name">김영희</p>
<p class="name">박철수</p>
<!-- attendance 아이디는 여러곳에 사용할 수 없음,
김영희가 속한 <p> 태그에 사용했다면 박철수가 속한 <p> 태그에는 사용 불가 -->
<p id="attendance">김영희</p>
<p>박철수</p>
한 요소가 갖는 클래스 & 아이디의 갯수 제한
클래스(class)의 경우에는 한 요소에 여러개의 클래스명이 적용될 수 있다. 그러나 아이디(id)는 한 요소에 한 아이디만 적용이 가능하다. 글로만 설명을 하면 혼란스러울 듯 하여 아래에 예제를 추가하겠다.
<!-- 하나의 <p> 태그에 여러 클래스 사용, 클래스를 추가할 때는 띄어쓰기로 구분 -->
<p class="school name friend">김영희</p>
<!-- 하나의 <p> 태그에 하나의 아이디만 사용 가능 -->
<p id="attendance">김영희</p>
<!-- 여러개 아이디를 사용할 수 없음, 아이디의 잘못된 사용 (아래) -->
<p id="attendance education">김영희</p>
<!-- 한 요소가 여러개의 클래스, 한개의 아이디를 동시에 가지는 것은 가능 -->
<p class="school name" id="attendance">김영희</p>
정리하자면, 여러가지 스타일링을 한꺼번에 적용해야 할 때는 클래스(class)를 사용하고, 한가지만 적용하고 싶다면 아이디(id)를 사용하면 된다. 오늘의 정리 끝!
반응형
'퍼블리싱 & 프론트엔드 > html & CSS' 카테고리의 다른 글
margin: 0 auto; 가운데 정렬이 되지 않을 때 (0) | 2021.08.02 |
---|---|
CSS로 색상 표현하기(HEX, RGB, 색 이름) (0) | 2021.07.22 |
<b>와 <strong>, <i>와 <em>의 차이 (0) | 2021.07.08 |
아이템(div)의 너비 설정하기 - flex item 속성(2) (0) | 2021.01.01 |
div 박스 & png 투명배경 이미지에 그림자 효과주기 (0) | 2020.11.29 |
댓글