CSS 그림자 효과 생성기
그림자 레이어를 조절하고, 미리보기와 복사 가능한 CSS 코드를 한 화면에서 확인하세요.
그림자 #1
기본
스타일
컬러
실시간 미리보기
box-shadow 속성이 실시간으로 갱신됩니다.
CSS 코드
box-shadow: 5px 5px 10px 0px rgba(0, 0, 0, 0.2);
CSS 그림자 가이드
그림자는 위치, 흐림, 확산을 같이 봐야 자연스럽습니다
CSS 그림자 효과 생성기는 여러 그림자 레이어를 조절하면서 미리보기와 box-shadow 코드를 같은 화면에서 확인하는 도구입니다. 수평·수직 오프셋은 그림자가 어느 방향으로 밀리는지를 정하고, 흐림과 확산은 그림자의 가장자리와 크기를 바꿉니다. 계산 버튼을 누르는 방식이 아니라 값을 바꾸는 즉시 코드가 갱신되므로, 눈으로 본 효과와 복사할 코드를 같이 맞추면 됩니다.
그림자 탭에서 값을 잡고, 미리보기 탭에서 대상 모양을 확인합니다
이 도구의 중심은 실시간 조정입니다. 그림자 자체의 CSS 값과 미리보기 박스의 모양 설정을 나눠서 보면 어떤 값이 실제 코드에 들어가는지 헷갈리지 않습니다.
- 그림자 탭에서 레이어를 만듭니다. 수평 오프셋, 수직 오프셋, 흐림, 확산, 색상, 투명도, 내부 그림자를 한 레이어 단위로 조절합니다.
- 필요하면 그림자 레이어를 추가합니다. 여러 레이어는 쉼표로 이어진 하나의
box-shadow코드가 됩니다. 필요 없는 레이어는 삭제하고, 기본값으로 돌아갈 때는 초기화를 씁니다. - 미리보기 탭에서 대상 요소를 바꿉니다. 사각형, 둥근 사각형, 원형, 버튼, 카드 모양과 크기를 바꿔 실제 적용 대상에 가까운 화면으로 확인합니다.
- 프리셋으로 출발점을 고른 뒤 코드를 복사합니다. 소프트, 레이어드, 네온 같은 프리셋은 시작값일 뿐입니다. 적용 전에는 CSS 코드 영역의 최종 값을 다시 확인합니다.
오프셋은 방향, 흐림과 확산은 그림자의 질감을 바꿉니다
box-shadow는 값의 이름이 비슷해 보이지만 역할이 다릅니다. 특히 흐림과 확산을 같은 값으로 생각하면 그림자가 너무 뭉개지거나, 반대로 딱딱한 테두리처럼 보일 수 있습니다.
수평·수직 오프셋
양수는 오른쪽·아래쪽, 음수는 왼쪽·위쪽으로 그림자를 보냅니다. 빛이 어디에서 오는지 정하는 값으로 보면 이해하기 쉽습니다.
흐림
그림자 가장자리를 얼마나 부드럽게 퍼뜨릴지 정합니다. 값이 커질수록 그림자는 넓고 옅게 보입니다.
확산
그림자 자체의 크기를 늘리거나 줄입니다. 양수는 크게 만들고, 음수는 그림자를 안쪽으로 줄여 더 가벼운 효과를 만들 수 있습니다.
색상과 투명도
도구는 색상과 투명도를 합쳐 rgba() 값으로 출력합니다. 같은 검정이라도 투명도 0.2와 0.5는 화면에서 전혀 다르게 보입니다.
내부 그림자
inset을 켜면 바깥 그림자가 아니라 요소 안쪽으로 눌린 듯한 그림자가 됩니다. 입력칸, 카드 안쪽, 눌린 버튼 느낌에 어울립니다.
미리보기 모양과 크기
모양과 크기는 미리보기 대상만 바꿉니다. 복사되는 box-shadow 값에는 요소의 너비와 높이가 들어가지 않습니다.
출력 코드는 CSS box-shadow 문법을 한 줄로 정리한 값입니다
기본 출력 순서는 inset 여부, 수평 오프셋, 수직 오프셋, 흐림, 확산, 색상입니다. 여러 그림자를 쓰면 각 레이어가 쉼표로 이어지며, 브라우저는 이 목록을 하나의 box-shadow 값으로 읽습니다.
내부 그림자 예시는 한 줄의 inset 코드로 읽으면 됩니다
예를 들어 내부 그림자를 켜고 수평 12px, 수직 8px, 흐림 18px, 확산 -2px, 색상 #336699, 투명도 0.35를 넣으면 아래와 같은 값이 만들어집니다. 확산이 음수라 그림자가 너무 넓게 번지지 않고, inset 때문에 카드 안쪽으로 눌린 느낌이 납니다.
그림자는 레이아웃 크기를 차지하지 않습니다
box-shadow는 요소 바깥으로 보여도 주변 요소를 밀어내지 않습니다. 부모 영역에 overflow: hidden이 있거나, 카드가 화면 가장자리에 붙어 있으면 그림자가 잘려 보일 수 있습니다.
복사하기 전에 실제 배경과 대비를 한 번 더 봅니다
그림자는 화면을 선명하게 만들 수도 있지만, 너무 강하면 카드가 떠 보이고 글자 주변이 지저분해질 수 있습니다. 특히 다크 배경과 밝은 배경에서는 같은 값도 체감이 다릅니다.
- 흐림 값을 먼저 키우고 투명도는 낮게 둡니다. 진한 그림자보다 옅고 넓은 그림자가 더 자연스러운 경우가 많습니다.
- 확산은 작은 폭으로 조절합니다. 큰 양수 확산은 그림자를 테두리처럼 보이게 만들 수 있고, 큰 음수 확산은 그림자를 거의 숨길 수 있습니다.
- 여러 레이어는 적은 수로 시작합니다. 두세 개 이상을 겹치면 표현은 풍부해지지만, 코드가 길어지고 유지보수가 어려워질 수 있습니다.
- 다크 화면에서는 색을 그대로 쓰지 않습니다. 밝은 화면에서 자연스러운 검정 그림자도 어두운 배경에서는 얼룩처럼 보일 수 있으므로 실제 배경에서 확인합니다.
자주 묻는 질문
미리보기 크기를 바꾸면 CSS 코드도 바뀌나요?
아니요. 미리보기 크기와 모양은 화면에서 효과를 확인하기 위한 대상 요소 설정입니다. 복사되는 값은 그림자의 오프셋, 흐림, 확산, 색상, inset 여부입니다.
여러 그림자를 추가하면 어떤 순서로 적용되나요?
도구는 각 그림자 레이어를 쉼표로 이어서 출력합니다. CSS에서는 같은 목록 안의 그림자들이 함께 적용되므로, 레이어가 많을수록 코드와 화면 효과를 같이 확인하는 편이 안전합니다.
흐림과 확산은 어떻게 다르게 써야 하나요?
흐림은 그림자 가장자리를 부드럽게 만들고, 확산은 그림자 면적을 키우거나 줄입니다. 부드러운 카드 그림자는 흐림을 먼저 조절하고, 확산은 작게 더하는 방식이 다루기 쉽습니다.
inset은 어떤 화면에 쓰면 좋나요?
inset은 요소 안쪽으로 들어간 그림자입니다. 눌린 버튼, 입력칸 안쪽, 카드 내부의 깊이감을 만들 때 어울리며, 일반 카드가 떠 보이는 효과와는 반대 느낌입니다.