생활코딩/WEBn
[CSS] Selector: class, id
hayjo
2020. 8. 24. 20:57
[강의 출처] opentutorials.org/course/3086/18329
CSS 선택자를 스스로 알아내는 방법 - 생활코딩
강의 내용이 많고 복잡합니다. 시간을 충분히 확보하고 시작하세요. 소스코드 변경사항
opentutorials.org
Cascading: 선택자(Selector) 우선순위
-
id > class > tag(element)
class
-
(코드 작성자가) 텍스트들을 어떤 의도에 따라서 그룹화할 때 쓰는 선택자(Selector)
-
다른 태그에 class="class이름" 형태로 삽입
-
한 태그에 여러 class 중첩이 가능하며, 띄어쓰기로 구분
-
여러 class가 중첩된 경우, <style> 태그에서 제일 아래에 나오는 class가 최종 적용 (덮어쓰기처럼)
-
<style> 태그에서 효과 지정시 .class 형태로 입력
id
-
class보다 우선순위가 높은 선택자 (class와 중첩되면 id의 효과 선언을 따름)
- 한 페이지에 한 id 선택자는 단 1번만 사용가능
-
다른 태그에 id="id이름" 형태로 삽입
-
<style> 태그에서 효과 지정시 #id 형태로 입력
<style>
a {
color:black;
text-decoration:none;
}
#activeid { /* id 앞에 붙은 "#"이 activeid가 id의 이름임을 의미 */
color:green; /* 순서상 saw보다 앞에 있더라도 id 효과 우선 적용 */
}
.active { /* active 앞에 붙은 '.'이 active가 class의 이름임을 의미 */
color:red; /* '.'이 없다면 saw를 태그로 인식하여 적용되지 않음 */
}
.saw { /* 순서상 active보다 뒤에 있으므로 */
color:gray; /* class="saw active"처럼 중첩된 경우 saw 효과가 적용 */
}
</style>
<a href="1.html" class="saw">HTML</a> <!-- class="saw"는 아직 HTML의 영역임 # gray -->
<a href="2.html" class="saw active">CSS</a> <!-- saw, active 2개의 class가 부여 # gray -->
<a href="3.html" class="saw" id="activeid">JS</a> <!-- class와 id가 부여 # green -->
<style> minor tricks :)
1. 여러 태그에 같은 효과를 주고 싶다면 아래처럼 쉼표로 구분해서 한번에 적용 가능
<style>
h1, a {
border-width:5px;
border-color:red;
border-style:solid;
}
</style>
2. 같은 계열 Property의 Value라면 아래처럼 표현 가능, Value의 순서는 중요하지 않음 (아래 코드는 위의 1번 코드와 동일함)
<style>
h1, a {
border:5px solid red;
}
</style>