선택자:의사클래스이름 {속성: 속성값;}
선택자.클래스이름:의사클래스이름 {속성: 속성값;}
선택자#아이디이름:의사클래스이름 {속성: 속성값;}
<head>
<meta charset="UTF-8">
<title>CSS Dynamic Selectors</title>
<style>
a:link {color: orange;}
a:visited {color: gray;}
a:hover {color: blue;}
a:active {color: red;}
div {
background-color: orange;
width: 300px;
padding: 20px;
text-align: center;
}
div:hover {
background-color: blue;
color: white;
}
</style>
</head>
<body>
<h1>링크 선택자를 이용한 선택</h1>
<p><a href="#">홈으로 가기!</a></p>
<div>링크 선택자를 이용한 버튼 만들기!</div>
</body>
:hover는 반드시 :link와 :visited가 먼저 정의된 후에 정의되어야 정상 동작
:active는 반드시 :hover가 먼저 정의된 후에 정의되어야 정상 동작
=> 결론 : 위의 순서대로 정의 되어야 동작( 2, 1, 1 )
<style>
div{ border: 3px solid #008000; }
p:nth-last-child(2n) {
color: red;
font-weight: bold;
}
</style>
<head>
<meta charset="UTF-8">
<title>CSS Structural Selectors</title>
<style>
div.first{ border: 3px solid #008000; } 🔴
div.second{ border: 3px solid #FFD700; } 🔴
p:first-of-type {
color: blue;
font-weight: bold;
}
</style>
</head>
<body>
<h1>:first-of-type을 이용한 선택</h1>
<div class="first">
🔴<p>이 p 태그는 div 태그의 child 요소 중에서 첫 번째로 등장하는 p 태그입니다!</p>
<p>이 p 태그는 div 태그의 child 입니다!</p>
<p>이 p 태그는 div 태그의 child 입니다!</p>
<div class="second">
🔴<p>이 p 태그는 div 태그의 child 요소 중에서 첫 번째로 등장하는 p 태그입니다!</p>
<p>이 p 태그는 div 태그의 child 입니다!</p>
<p>이 p 태그는 div 태그의 child 입니다!</p>
</div>
</div>
</body>