Contents
see List작성일 2014. 09. 25.
CSS 마우스 오버시 효과주기 (:hover)
CSS :hover 가상 클래스를 사용하여 마우스를 올렸을 때 스타일을 변경하는 방법입니다.
기본 문법
.parent-class .target-class:hover {
/* 호버 시 적용할 스타일 */
}
기본 예시
/* 버튼 호버 */
.btn:hover {
background-color: #0056b3;
color: white;
}
/* 링크 호버 */
a:hover {
color: #ff6600;
text-decoration: underline;
}
/* 이미지 호버 */
img:hover {
opacity: 0.8;
transform: scale(1.05);
}
트랜지션 효과 추가
/* 부드러운 전환 효과 */
.card {
background-color: #fff;
box-shadow: 0 2px 4px rgba(0,0,0,0.1);
transition: all 0.3s ease;
}
.card:hover {
background-color: #f5f5f5;
box-shadow: 0 4px 8px rgba(0,0,0,0.2);
transform: translateY(-5px);
}
부모 호버시 자식 요소 변경
/* 부모에 마우스 올리면 자식 스타일 변경 */
.parent:hover .child {
display: block;
opacity: 1;
}
/* 드롭다운 메뉴 */
.dropdown:hover .dropdown-menu {
display: block;
}
/* 썸네일 오버레이 */
.thumbnail:hover .overlay {
opacity: 1;
}
다양한 호버 효과
/* 색상 변경 */
.item:hover {
background-color: #e0e0e0;
color: #333;
}
/* 테두리 효과 */
.box:hover {
border-color: #007bff;
border-width: 2px;
}
/* 그림자 효과 */
.card:hover {
box-shadow: 0 10px 20px rgba(0,0,0,0.2);
}
/* 크기 변경 */
.icon:hover {
transform: scale(1.2);
}
/* 회전 효과 */
.rotate:hover {
transform: rotate(360deg);
}
버튼 스타일 완성 예시
.btn {
background-color: #007bff;
color: white;
padding: 10px 20px;
border: none;
border-radius: 4px;
cursor: pointer;
transition: all 0.2s ease;
}
.btn:hover {
background-color: #0056b3;
transform: translateY(-2px);
box-shadow: 0 2px 4px rgba(0,0,0,0.2);
}
.btn:active {
transform: translateY(0);
box-shadow: none;
}
관련 가상 클래스
| :hover | 마우스 올렸을 때 |
| :active | 클릭하는 순간 |
| :focus | 포커스 받았을 때 |
| :visited | 방문한 링크 |
html
| No | 작성일 | Title |
|---|---|---|
| 2217 | 2026. 02. 11. | 모던 CSS: Container Queries와 :has() 선택자 실전 활용 |
| 2181 | 2026. 02. 11. | Web Components 실전: Shadow DOM과 Custom Elements |
| 2180 | 2026. 02. 11. | 반응형 이미지 최적화: srcset, picture, 그리고 AVIF |
| 2179 | 2026. 02. 11. | CSS Nesting과 @scope: 네이티브 CSS의 진화 |
| 2178 | 2026. 02. 11. | 웹 접근성(a11y) 실전 체크리스트 2025 |
| 2177 | 2026. 02. 11. | View Transitions API로 SPA 수준의 페이지 전환 |
| 2176 | 2026. 02. 11. | CSS Anchor Positioning: 툴팁과 드롭다운의 혁신 |
| 2175 | 2026. 02. 11. | HTML Dialog 요소와 Popover API 완전 가이드 |
| 2174 | 2026. 02. 11. | CSS Grid Subgrid: 복잡한 레이아웃의 해결사 |
| 2173 | 2026. 02. 11. | :has() 선택자로 JavaScript 없이 인터랙션 구현하기 |