CSS에는 3가지의 방법을 이용해 적용할 수 있다.
<link rel="stylesheet" href="style.css">
/* 모든 요소 선택 */
* {
font-weight: bold;
color: darkorange;
}
/* 같은 선택자의 경우 뒤에 오는 것이 우선순위 높음 */
* {
color: plum;
}
/* 태그 선택자 */
p {
color: olivedrab;
}
/* class 선택자 */
/* 태그보다 우선순위 높음 */
/* 페이지상의 여러 요소가 같은 class를 가질 수 있음 */
.blue {
color: lightblue;
}
/* 다른 선택자에 이어붙일 수 있음(태그, 클래스 등...) */
/* 선택자는 구체적일수록 우선순위 높음 */
p.blue {
color: slateblue;
}
.blue.dark {
color: mediumblue;
}
p.blue.dark {
color: darkblue;
}
/* id 선택자 */
/* class보다 우선순위 높음 */
/* id는 페이지상에서 요소마다 고유해야 함 */
#red {
color: tomato;
}
/* 그룹 선택자 */
span, .dark, #red {
text-decoration: underline;
}
모든 요소 선택자는 *로 표시한다.
같은 선택자 끼리는 뒤에 오는 것이 우선순위이다(채택이 된다) (앞의 것을 덮어 씌운다).
모든 요소 선택자보다 우선순위를 가진다.
ex) .blue
태그 선택자보다 우선순위를 가진다.
class 선택자는 다른 선택자에 이어 붙일수 있다. (태그, 클래스 등)
ex) p.blue -> p태그이면서 blue클래스를 가진 것. (태그 하나, 클래스 하나)
ex) .blue.dark -> blue클래스이면서 dark클래스 인 것. (클래스 둘)
ex) p.blue.dark -> p태그이면서 blue클래스이면서 dark클래스를 가진 것. (태그 하나, 클래스 둘)
클래스를 여러 개 가질 수 있는데, 클래스 속성에다가 스페이스로 구분을 한다.
HTML -> <p class="blue dark"> (p태그이면서 blue에 dark 한 것)
CSS -> p.blue.dark
구체적일수록 우선순위가 높다.
샾(#)을 사용한다. ex) #red
클래스보다 우선순위가 높다.
페이지 상에서 요소마다 고유해야 한다.
상단의 class 선택자를 보라. .blue 클래스를 자주 사용한다. (html에서 어겨도 딱 바로 티가 나지는 않는다. 그러나 자바스크립트 등에서 사용하는 경우에 문제가 발생한다.)
여러 요소들을 한꺼번에 선택하는 것이다.
요소들을 쉼표(,)로 구분해준다. ex) span,.dark,#red