반응형
이번 포스팅에서는 [CSS 디자인 기법] 파트의 세부 주제인 ::before와 ::after 실전 활용법에 대하여 상세히 알아보겠습니다.

1. 필수 조건: content 속성과 display
가상 요소(::before, ::after)는 화면에 렌더링되기 위해 반드시 content: "" 속성이 필요합니다. 또한 기본적으로 inline 요소이므로 크기를 부여하려면 display: block이나 inline-block, absolute를 선언해야 합니다.
2. 실무 패턴 1: 툴팁(Tooltip) 꼬리 그리기
말풍선 디자인을 할 때 삼각형 꼬리를 그리기 위해 추가적인 태그를 넣는 것은 낭비입니다. CSS의 border 마술과 가상 요소를 결합합니다.
.tooltip {
position: relative;
background: #333;
padding: 10px;
border-radius: 4px;
}
.tooltip::after {
content: "";
position: absolute;
top: 100%; /* 부모의 맨 아래 바닥으로 이동 */
left: 50%; /* 가로 중앙 */
margin-left: -5px;
/* CSS 테두리로 삼각형 그리기 공식 */
border-width: 5px;
border-style: solid;
border-color: #333 transparent transparent transparent;
}
3. 실무 패턴 2: 링크 아이콘이나 리스트 불릿 꾸미기
HTML <li>의 기본 불릿(점) 대신 커스텀 기호나 아이콘을 텍스트 앞에 일괄적으로 삽입할 때 ::before를 활용합니다.
지금까지 HTML 구조를 해치지 않고 UI를 꾸미는 가상 요소에 대해 살펴보았습니다. 데코레이션 목적으로 태그를 남발하기 전에 가상 요소로 해결 가능한지 먼저 고민해 보세요.
반응형
'StyleSheet > CSS' 카테고리의 다른 글
| [CSS] 트랜지션(Transition) 애니메이션과 성능 (0) | 2026.07.20 |
|---|---|
| [CSS] 그림자와 필터 (Shadows & Filters) (0) | 2026.07.20 |
| [CSS] 가상 클래스(Pseudo-classes)와 UI 제어 기술 (0) | 2026.07.20 |
| [CSS] 미디어 쿼리(Media Queries)와 모바일 퍼스트 전략 (0) | 2026.07.20 |
| [CSS] Grid (2) - auto-fit과 반응형 그리드 실전 (0) | 2026.07.20 |