VScode/CSS
[CSS] pseudoclass
hvoon
2022. 9. 8. 16:25
일반 구조 선택자
-CSS3부터 지원하는 선택자
-일반적으로 자손선택자와 병행해서 많이 사용
-같은 이름의 태그를 또는 클래스 이름들을 대상으로 하는 선택자
-종류
1) first-child: 첫번째 위치하는 자손을 선택
2) second-child: 마지막에 위치하는 자손을 선택
3) nth-chlid: n번째 위치하는 자손을 선택
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>15_PseudoClass01.html</title>
<style type="text/css">
ul{list-style:none; padding:0px; margin:0px; height:60px;}
ul li{border:1px dashed blue; float:left; padding:15px; width:100px; text-align:center;}
ul li:nth-child(1){background:orange;}
ul li:nth-child(2){background:yellow;}
ul li:nth-child(3){background:orange;}
ul li:nth-child(4){background:yellow;}
ul li:nth-child(5){background:orange;}
ul li:nth-child(6){background:yellow;}
ul li:first-child{border-radius:20px 0 0 20px;}
/* 0은 px 생략 가능 */
ul li:last-child{border-radius:0px 20px 20px 0px;}
</style>
</head>
<body>
<ul >
<li>회사소개</li><li>사업</li><li>조직도</li>
<li>게시판</li><li>고객지원</li><li>사이트맵</li>
</ul>
</body>
</html>
위의 코드와 결과는 같지만 좀 더 간결하게 표현할 경우 아래와 같다
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>15_PseudoClass01.html</title>
<style type="text/css">
ul{list-style:none; padding:0px; margin:0px; height:60px;}
ul li{border:1px dashed blue; float:left; padding:15px;width:100px; text-align:center;}
ul li:nth-child(2n){background:orange;}
ul li:nth-child(2n+1){background:yellow;} /* n은 0부터 시작 */
ul li:first-child{border-radius:20px 0 0 20px;}
/* 0은 px 생략 가능 */
ul li:last-child{border-radius:0px 20px 20px 0px;}
</style>
</head>
<body>
<ul >
<li>회사소개</li><li>사업</li><li>조직도</li>
<li>게시판</li><li>고객지원</li><li>사이트맵</li>
</ul>
</body>
</html>
href
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>PseudoClass02.html</title>
<style type="text/css">
li>a:first-child{color:red; background:yellow;}
/* 모든 li 태그 바로 아래 ""자식들에서 첫번째 a 태그... */
li:last-child>a{color:blue; background:yellow;}
/* 마지막 li 태그의 바로 아래 자식들 모두 */
</style>
</head>
<body>
<ul >
<li><a href="#">PsuedoClasss</a> <a href="#">PsuedoClasss</a></li>
<li><a href="#">PsuedoClasss</a> <a href="#">PsuedoClasss</a></li>
<li><a href="#">PsuedoClasss</a> <a href="#">PsuedoClasss</a></li>
<li><a href="#">PsuedoClasss</a> <a href="#">PsuedoClasss</a></li>
<li><a href="#">PsuedoClasss</a> <a href="#">PsuedoClasss</a></li>
<li><a href="#">PsuedoClasss</a> <a href="#">PsuedoClasss</a></li>
</ul>
</body>
</html>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>PseudoClass03.html</title>
<style type="text/css">
/* body>:first-of-type{color:red;} */
/* body 태그 안의 모든 태그들 중 같은 유형의 첫번째 태그들 */
/* h1:first-of-type{color:red;}
h1:last-of-type{color:blue;} */
h2:first-of-type{color:green;}
h3:nth-of-type(2n){color:orange;}
h1:nth-of-type(2){color:yellow;}
</style>
</head>
<body>
<h1>Header-1</h1>
<h2>Header-2</h2>
<h3>Header-3</h3>
<h3>Header-3</h3>
<h2>Header-2</h2>
<h1>Header-1</h1>
<h1>Header-1</h1>
<h3>Header-3</h3>
<h3>Header-3</h3>
</body>
</html>