최근 UI 트렌드에서 빠질 수 없는 키워드가 바로 Glassmorphism(글래스모피즘) 이다.
마치 유리판 위에 요소가 떠 있는 듯한 반투명 + 블러 효과로,
현대적이고 고급스러운 웹 디자인을 완성할 수 있다.
이번 글에서는 CSS만으로 구현 가능한 글래스모피즘의 핵심 개념부터
실전 예제와 반응형 적용법까지 모두 정리했다.
💡 1. 글래스모피즘(Glassmorphism)이란?
“반투명한 유리 질감과 부드러운 블러 효과를 결합한 디자인 스타일”
글래스모피즘은 Apple, Windows, macOS, iOS 등
대부분의 최신 UI에서 사용되는 시각적 트렌드다.
✅ 핵심 특징
- 반투명 배경 (rgba or hsla)
- 뒷배경 흐림 효과 (backdrop-filter: blur)
- 부드러운 그림자 (box-shadow)
- 은은한 경계선 (border)
결과적으로,
요소가 “공중에 떠 있는 듯한 느낌”을 준다.
🧱 2. 기본 구조
<div class="glass-card">
<h2>Glassmorphism UI</h2>
<p>유리처럼 반투명한 CSS 디자인</p>
</div>
body {
background: linear-gradient(135deg, #89f7fe, #66a6ff);
height: 100vh;
display: flex;
justify-content: center;
align-items: center;
}
.glass-card {
background: rgba(255, 255, 255, 0.2);
backdrop-filter: blur(10px);
border: 1px solid rgba(255, 255, 255, 0.3);
border-radius: 15px;
padding: 40px;
width: 300px;
color: white;
text-align: center;
box-shadow: 0 8px 30px rgba(0, 0, 0, 0.2);
}
✅ 결과:
- 배경은 그라데이션
- 카드 위는 유리처럼 반투명 + 흐림 효과
🎨 3. 반투명 배경 만들기
background: rgba(255, 255, 255, 0.2);
파라미터 설명
| rgba() | Red, Green, Blue + Alpha(투명도) |
| 0.2 | 20% 불투명도 |
💡 투명도를 0.15~0.3 정도로 설정하면 가장 자연스럽다.
🧩 4. 배경 흐림 효과 — backdrop-filter
backdrop-filter: blur(10px);
✅ 요소 뒤쪽의 배경만 흐려지며,
요소 자체의 텍스트나 내용은 선명하게 유지된다.
💬 주의:
- background가 완전 불투명하면 blur 효과가 보이지 않음.
- 반드시 투명한 배경과 함께 사용해야 한다.
⚙️ 5. 보더와 그림자로 깊이감 추가
border: 1px solid rgba(255, 255, 255, 0.3);
box-shadow: 0 8px 30px rgba(0, 0, 0, 0.2);
✅ 보더: 투명한 유리 가장자리 표현
✅ 그림자: 부드러운 입체감 강조
💡 Shadow 색상은 너무 짙지 않게,
rgba(0, 0, 0, 0.2~0.3) 정도가 자연스럽다.
🧱 6. 색상 하이라이트 — 유리의 반사 느낌
.glass-card::before {
content: "";
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
background: linear-gradient(135deg, rgba(255,255,255,0.4), rgba(255,255,255,0));
border-radius: 15px;
}
✅ 위쪽 왼쪽에 하얀 반사광이 살짝 비치며,
실제 유리판 같은 질감이 완성된다.
🧠 7. 실무 예제 — 로그인 카드 디자인
<div class="login-card">
<h3>로그인</h3>
<input type="text" placeholder="아이디" />
<input type="password" placeholder="비밀번호" />
<button>로그인</button>
</div>
body {
background: linear-gradient(120deg, #89f7fe, #66a6ff);
height: 100vh;
display: flex;
justify-content: center;
align-items: center;
}
.login-card {
backdrop-filter: blur(10px);
background: rgba(255, 255, 255, 0.2);
border: 1px solid rgba(255, 255, 255, 0.3);
padding: 40px;
border-radius: 15px;
color: white;
width: 320px;
text-align: center;
box-shadow: 0 4px 30px rgba(0,0,0,0.2);
}
.login-card input {
width: 100%;
padding: 10px;
margin: 10px 0;
border: none;
border-radius: 8px;
outline: none;
}
.login-card button {
width: 100%;
padding: 12px;
background: rgba(255,255,255,0.4);
border: none;
border-radius: 8px;
color: #111;
font-weight: bold;
transition: all 0.3s;
}
.login-card button:hover {
background: rgba(255,255,255,0.6);
}
✅ 유리처럼 반투명한 로그인 UI 완성.
✅ hover 시 버튼 밝기가 부드럽게 전환되는 트랜지션 효과 포함.
🎯 8. 반응형 적용 — 모바일에서도 유리 효과 유지
@media (max-width: 768px) {
.glass-card, .login-card {
width: 90%;
padding: 25px;
backdrop-filter: blur(6px);
}
}
✅ 모바일 환경에서도 부하를 줄이면서 자연스러운 블러 유지.
✅ blur 정도를 기기 성능에 맞게 조정 가능.
⚡ 9. Glassmorphism + 다크모드 결합
:root {
--glass-bg: rgba(255, 255, 255, 0.2);
--glass-border: rgba(255, 255, 255, 0.3);
}
body.dark {
--glass-bg: rgba(0, 0, 0, 0.3);
--glass-border: rgba(255, 255, 255, 0.1);
}
.glass-card {
background: var(--glass-bg);
border: 1px solid var(--glass-border);
backdrop-filter: blur(10px);
}
✅ 라이트모드와 다크모드 모두 자연스럽게 표현 가능.
🧮 10. 성능 최적화 팁
💡 backdrop-filter는 GPU 리소스를 사용하므로,
페이지에 너무 많은 요소에 적용하면 렌더링 속도가 떨어질 수 있다.
최적화 방법
- 핵심 요소에만 적용 (ex. 카드, 모달 등)
- blur 값을 5~15px로 제한
- 애니메이션 중에는 will-change: backdrop-filter; 사용
.glass-card {
will-change: backdrop-filter;
}
🧠 11. Glassmorphism 디자인을 돋보이게 하는 3가지 요소
요소 설명 예시
| 🎨 색상 대비 | 배경은 화려하게, 카드 배경은 흐리게 | linear-gradient() 활용 |
| 💡 조명 표현 | ::before 반사광 추가 | 유리 질감 강화 |
| 🔲 여백과 그림자 | 내부 여백(padding) 넉넉히, 그림자 부드럽게 | box-shadow: rgba(0,0,0,0.2) |
🏁 12. 마무리 — “유리처럼 가볍고, 깊이감 있는 디자인의 시대”
Glassmorphism은 단순한 유행이 아니라,
시각적 투명성과 깊이를 동시에 표현하는 기술적 트렌드다.
💬 “투명하지만 존재감 있는 인터페이스 — 그것이 글래스모피즘의 매력이다.”
다음 편에서는
✅ 10. CSS Position 완벽 가이드 — relative, absolute, fixed, sticky 총정리
를 통해 요소의 위치를 자유자재로 제어하는 레이아웃 핵심 기술을 배워보자.
'frontend > css' 카테고리의 다른 글
| 11. 🧠 CSS z-index와 쌓임 맥락(Stacking Context) 완벽 이해 (0) | 2025.11.05 |
|---|---|
| 10. 📍 CSS Position 완벽 가이드 — relative, absolute, fixed, sticky 총정리 (0) | 2025.11.05 |
| 8. 🌗 CSS 변수(Variables)와 다크모드(Dark Mode) 구현하기 (0) | 2025.11.05 |
| 7. ✨ CSS 애니메이션과 트랜지션 완벽 가이드 — 살아있는 웹 만들기 (0) | 2025.11.05 |
| 6. 📱 반응형 웹 디자인 완벽 가이드 — 미디어쿼리부터 실전 예제까지 (0) | 2025.11.05 |