CSS(Cascading Style Sheets)는 HTML, XHTML, XML같은 문서의 스타일을 꾸밀 때 사용하는 스타일 시트 언어이다. 글꼴, 배경색, 너비와 높이 등을 지정하는 역할을 한다.
웹사이트를 제작하다보면 하나의 태그에 여러가지 CSS를 적용시켜야할 상황이 오게된다.
이때 특정한 규칙에 따라 CSS에 우선 순위가 부여되어 적용되는데 지금부터 알아보도록 하자.
!import를 사용하게 되면 우선순위가 가장 높게 부여됨
div {
background-color: orange !important;
}
HTML 문서 내부 style 속성에 직접 스타일을 작성하는 방식
<div style = "background-color: orange;"></div>
!important를 제외하고 다른 스타일을 적용할 수 없음
#name{
background-color: orange;
}
.name{
background-color: orange;
}
a[title] {
background-color: orange;
}
선택자 뒤에 :를 붙이면 특정 이벤트마다 적용 할 스타일 설정 가능
a:hover {
background-color: orange;
}
li:nth-child(3) {
color: red;
}
첫 번째 줄이나 첫 글자와 같이 선택한 요소 일부분에 스타일 적용 가능
효과를 보려면 반드시 블록 레벨 요소에 적용해야 함
p::first-line {
font-weight: bold;
font-size: 1.2em;
}
p {
color: red;
}
* {
color: red;
}
<div>
<span class = "myClass">Class</span>
</div>
(1)
.myClass {
color : blue;
}
.myClass {
color : orange;
}
둘은 10점으로 점수가 같으므로 나중에 작성된 스타일로 적용되어 글씨가 오렌지색으로 적용된다.
(2)
span.myClass {
color : blue;
}
.myClass {
color : orange;
}
11점 10점으로 점수가 높은 스타일로 적용되어 글씨가 파란색으로 적용된다.
| 선택자 방식 | 적용 예 | 선택자 우선 순위 | 혼용 방식의 점수 산정 | 비고 |
|---|---|---|---|---|
| !important | 속성: 적용 값 !important | 속성 기준 가장 우선 | 속성 기준 가장 우선 | 속성 기준 가장 우선 |
| 인라인 스타일 | style=”” | 1 | 요소 기준 가장 우선 | 요소 기준 가장 우선 |
| ID 선택자 | #selector | 2 | 100 | |
| CLASS 선택자 | .selector | 3 | 10 | |
| 속성 기반 선택자 | a[title] | 3 | 10 | |
| 가상 클래스 | a:hover | 3 | 10 | #header > .logo > a { } |
| 가상 요소 | span::after | 3 | 10 | |
| 태그 선택자 | a | 4 | 1 | |
| 전체 선택자 | * | 5 | 0 |
참고 링크
선택자(Selector)의 우선 순위
가상 클래스 선택자
의사요소
반드시 기억해야 하는 CSS 선택자
[CSS]선택자 우선순위: 점수 매기기
CSS 적용 우선순위
CSS에 대한 설명이 정말 알기 쉽게 잘 작성되어 있네요. CSS 규칙과 각각의 우선순위에 대해 명확하게 이해할 수 있었습니다. 연습 예제도 도움이 많이 되었어요. 좋은 글 감사합니다~