HTML·CSS
[CSS] 선택자
최성2
2022. 2. 3. 04:20
선택자
: 특정 태그를 선택, 해당 태그의 속성을 변경하는 목적으로 사용
div {
tag 선택자: 특정 태그를 선택하여 적용;
}
* {
* 선택자: 문서 전체 선택, 초기 세팅 값을 잡을 때 많이 사용;
}
input[type=text] {
속성 선택자: tag의 속성을 선택하여 적용;
}
id와 class: html에서 지정 > css에서 속성 설정
<div id="wrap">
<h1><h1>
<p class="content"><p>
</div>
#wrap {
id: #
}
.content {
class: .
}
#wrap.content {
tag, id, class 혼합 가능
}
후손 및 자손 선택자
<div id="header">
<div class="logo">
<h1></h1> 👈
<ul>
<li><h1></h1></li> 👈
</ul>
</div>
</div>
div li {
후손 선택
}
div > h1 {
자손 선택
}
동위 선택자(+, ~)
: 동등한 위치를 판단하여 css 속성 설정
<h1 id="title"></h1>
<div></div>
<div></div>
<div></div>
h1~div {
h1과 동등한 위치의 태그 중 div란 div는 전부 선택;
}
h1+div {
h1과 동등한 위치의 태그 중 가장 가까운(아래쪽) div만 선택;
}
반응, 상태 선택자
h1:hover {
마우스를 올렸을 때 반응해라
}
input:focus {
포커스 될 때 상태를 변경해라
}
input:enabled {
활성화 될 때 상태를 변경해라
}
구조 선택자
<ul>
<li></li>
<li></li>
<li></li>
<li></li>
</ul>
ul li {
ul 안 li 전체
}
ul li:nth-child(2n) {
ul 안 li 중 짝수만
}
ul li:first-of-type {
ul 안 li 중 첫 번째
}
ul li:last-of-type {
ul 안 li 중 마지막
}
문자 선택자
h1:first-letter {
h1의 첫 번째 글자만
}
h1:first-line {
h1의 첫 번째 줄만
}
#content p:first-child::selection {
content의 첫 번째 p태그를 선택할 때 반응해라
}
링크 선택자
#content a::after {
content: '-' attr(href);
링크 뒤에 - url 추가(?)
}
부정 선택자
#content li:not(.fa) {
li 중 class="fa"가 없는 li 선택
}
----
div[class="one"]
: 정확히 일치하는 클래스만 적용
<!DOCTYPE html>
<html lang="ko">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>3일차_보강_설명 2</title>
<style>
div[class="one"] {
background-color: red;
color: white;
}
</style>
</head>
<body>
<div>1</div>
<div class="one">2</div> 👈
<div class="one two">3</div>
<div class="one two three">4</div>
<div class="onetwo three">5</div>
<div class="one-two three">6</div>
<div class="twoonethree">7</div>
</body>
</html>
div[class~="one"]
: one 이라는 단어가 정확히 들어간 클래스만 적용
: one-two, onetwo, one.two 등 사족(?)을 붙인 것은 허용하지 않는다
<!DOCTYPE html>
<html lang="ko">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>3일차_보강_설명 2</title>
<style>
div[class~="one"] {
background-color: red;
color: white;
}
</style>
</head>
<body>
<div>1</div>
<div class="one">2</div> 👈
<div class="one two">3</div> 👈
<div class="one two three">4</div> 👈
<div class="onetwo three">5</div>
<div class="one-two three">6</div>
<div class="twoonethree">7</div>
</body>
</html>
div[class*="one"]
: one이 포함된 클래스 전부 적용
<!DOCTYPE html>
<html lang="ko">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>3일차_보강_설명 2</title>
<style>
div[class~="one"] {
background-color: red;
color: white;
}
</style>
</head>
<body>
<div>1</div>
<div class="one">2</div> 👈
<div class="one two">3</div> 👈
<div class="one two three">4</div> 👈
<div class="onetwo three">5</div> 👈
<div class="one-two three">6</div> 👈
<div class="twoonethree">7</div> 👈
</body>
</html>