Frontend/CSS
14. 가상 클래스
예린lynn
2024. 7. 6. 00:36
728x90
동작 가상 클래스
- :link : 아직 방문하지 않은 링크에 스타일 적용
- :visited : 방문한 링크에 스타일 적용. 기본값이 보라색
- :hover : 사용자가 마우스 커서를 요소 위에 올렸을 때 스타일 적용
- :active : 사용자가 마우스로 요소를 클릭했을 때 스타일 적용
- :focus : 요소에 초점이 맞춰졌을 때 스타일 적용
- 활용 코드
/* a 태그에 마우스가 올라올 때 */
a:hover {
color: white;
background-color: blue;
}
/* 방문한 적이 없는 링크 */
a:link {
color: blue;
}
/* 방문한 적이 있는 링크 */
a:visited {
color: green;
}
/* 마우스가 포커스 됐을 때 */
input:focus {
border: 5px solid red;
}
상태 가상 클래스
- :target : 문서 내부 링크의 대상에 스타일 적용
- :not : 특정 요소를 제외하고 스타일 적용
- :enabled : 해당 요소가 사용할 수 있는 상태일 때의 스타일 지정
- :disabled : 해당 요소가 사용할 수 없는 상태일 때의 스타일 지정
- :checked : 라디오 박스나 체크 박스에서 해당 항목을 선택했을 때의 스타일 지정
구조 가상 클래스
- :root : 문서 전체에 적용
- :first-child : 부모 안의 모든 요소 중 첫 번째 자식 요소 선택
- :last-child : 부모 안의 모든 요소 중 마지막 자식 요소 선택
- :nth-chlid(n) : 부모 안의 모든 요소 중에서 n번째 자식 요소 선택. n에 even, odd, 2n, 2n+1, an+b 등 수식 대입 가능
- :nth-last-chlid(n) : 부모 안의 모든 요소 중에서 끝에서 n번째 자식 요소 선택
- A:nth-of-type(n) : 부모 안에 있는 A 요소 중에서 n번째 요소 선택
- A:nth-last-of-type(n) : 부모 안에 있는 A 요소 중에서 끝에서 n번째 요소 선택
- 활용 코드
/* 2n, even: 짝수행 */
/* 2n+1, odd: 홀수행 */
tbody > tr:nth-child(odd) {
background-color: greenyellow;
}
가상 요소
- ::first-line : 지정한 요소의 첫 번째 줄에 스타일 적용
- ::first-letter : 지정한 요소의 첫 번째 글자에 스타일 적용. 첫 번째 글자는 반드시 첫 번째 줄에 있어야 한다.
- ::before : 지정한 요소의 내용 앞에 스타일 적용
- ::after : 지정한 요소의 내용 뒤에 스타일 적용
- 활용 코드
<style>
li.new::after {
content: "New!!";
font-size: x-small;
padding: 2px 4px;
margin: 0 10px;
border-radius: 2px;
background: #f00;
color: #fff;
}
</style>
<body>
<div>
<h1>제품 목록</h1>
<ul>
<li class="new">제품 A</li>
<li>제품 B</li>
<li class="new">제품 C</li>
</ul>
</div>
</body>
- 실행 결과
제품 목록
- 제품 A
- 제품 B
- 제품 C
728x90