4) 후손 셀렉터
부모 태그 안에 있는 모든 하위 태그를 하위 요소 , 후손 요소라고 부름
부모 태그 안에 있는 모든 태그 중에 selector2 를 선택
ex)
<!DOCTYPE html>
<html lang="ko">
<head>
<meta charset="UTF-8" />
<style>
h1 {
color: black;
}
div span {
color: royalblue;
}
</style>
</head>
<body>
<div>
<h1>Donghyun Lim</h1>
<p>코딩을 하고있습니다. 개발자입니다.</p>
<p><span>좋은 컨텐츠와 서비스</span>매일 매일 열심히 하자!</p>
</div>
</body>
</html>
5) 자식 셀렉터 : > 로 표시
selector1 > selector2
ex)
<!DOCTYPE html>
<html lang="ko">
<head>
<meta charset="UTF-8" />
<style>
h1 {
color: black;
}
div > p {
color: red;
}
</style>
</head>
<body>
<div>
<h1>DonghyunLim</h1>
<p>코딩을 하고있습니다 개발자입니다.</p>
<p><span>좋은 컨텐츠와 서비스</span>매일 매일 열심히 하자!</p>
</div>
</body>
</html>
6) 가상 클래스 종류
<!DOCTYPE html>
<html lang="ko">
<head>
<meta charset="UTF-8" />
<style>
a:link {
color: red;
}
a:visited {
color: blue;
}
a:hover {
color: green;
}
a:active {
color: gray;
}
input:focus {
color: brown;
}
</style>
</head>
<body>
<div>
<h1>Donghyun Lim</h1>
<a href="https:/typiano.co.kr/">코딩공부</a>
<form action="https:/typiano.co.kr/ffffff" method="get">
<input type="text" id="data" name="data" /><br />
<input type="submit" value="Submit" />
</form>
</div>
</body>
</html>
7) UI 요소 상태 셀렉터
<!DOCTYPE html>
<html lang="ko">
<head>
<meta charset="UTF-8" />
<style>
/* indeterminate 한번도 선택이 되지 않는 상태 */
input[type="radio"]:indeterminate + span {
color: red;
}
input[type="radio"]:checked + span {
color: orange;
}
input[type="checkbox"]:enabled + span {
color: blue;
}
input[type="checkbox"]:disabled + span {
color: green;
}
</style>
</head>
<body>
<div>
<h1>Donghyun LIM</h1>
<a href="https:/typiano.co.kr/">코딩공부</a>
<form action="https:/typiano.co.kr/" method="get">
<input type="radio" value="item1" name="item" /><span>item1</span><br />
<input type="radio" value="item2" name="item" /><span>item2</span><br />
<input type="checkbox" value="check1" name="check" /><span>check1</span><br />
<input type="checkbox" value="check2" name="check" disabled /><span>check2</span
><br />
<input type="text" id="data" name="data" /><br />
<input type="submit" value="Submit" />
</form>
</div>
</body>
</html>
8) 구조 가상 클래스 셀렉터
<!DOCTYPE html>
<html lang="ko">
<head>
<meta charset="UTF-8" />
<style>
p:first-child {
color: red;
}
p:last-child {
color: blue;
}
p:nth-child(2) {
color: green;
}
p:nth-last-child(3) {
color: brown;
}
/* p:nth-child(2n-1) , p:nth-child(2n) 짝수 홀수 등으로 표현 가능 */
</style>
</head>
<body>
<div>
<h1>Donghyun Lim</h1>
<h2>스터디 코딩</h2>
<div>
<p>스터디 코딩 개발자입니다.</p>
<p><span>좋은 컨텐츠와 서비스</span>를 만드는 일에 집중하고 있습니다.</p>
<p>새로운 기술을 익힐 때는, 아주 쉬운 부분부터 집중해서 익숙해지도록!</p>
<p>세세한 부분은 신경도 쓰지 말도록!</p>
<p>매일 매일 열심히 하자!</p>
<p>매일 매일 열심히 하자!</p>
</div>
<div>
<h2>first-child/last-child가 여기는 왜 안될까요?</h2>
<p>스터디 코딩 개발자입니다.</p>
<p><span>좋은 컨텐츠와 서비스</span>를 만드는 일에 집중하고 있습니다.</p>
<p>새로운 기술을 익힐 때는, 아주 쉬운 부분부터 집중해서 익숙해지도록!</p>
<p>세세한 부분은 신경도 쓰지 말도록!</p>
<p>매일 매일 열심히 하자!</p>
<p>매일 매일 열심히 하자!</p>
<h2>first-child/last-child가 여기는 왜 안될까요?</h2>
</div>
</div>
</body>
</html>
9) 부정 셀렉터
<!DOCTYPE html>
<html lang="ko">
<head>
<meta charset="UTF-8" />
<style>
h2:not(.dave) {
color: red;
}
</style>
</head>
<body>
<h2>donghyun Lim</h2>
<h2 class="dave">스터디 코딩</h2>
<!-- h2 첫번째만 색상이 변경된다 class 적용이된건 not 스타일이 안먹게 해주는 스타일 -->
<p>
세부적인 문법은 끝도 없지만, 크롤링 기술 역량도 기를겸 이번엔 끝까지 가보는 것이 의미가
있을 것 같습니다.
</p>
<p>
또한 CSS는 디자인입니다. 디자인은 매우 세부적인 부분까지 제어가 가능해야 하므로,
셀렉터를 세부적으로 익힐 필요가 있습니다.
</p>
</body>
</html>
구조 가상 클래스 셀렉터 와 부정 셀렉터는 정말 필요한 CSS 셀렉터 공부였던거 같다 . 매번 이름을 짓는데 고민하는 상황에서 편하게 div 를 넣고서 스타일 주기 편할꺼같다는 생각에 얼른 적용해보고싶다.