CSS 그림자 효과 생성기

CSS box-shadow

CSS 그림자 효과 생성기

그림자 레이어를 조절하고, 미리보기와 복사 가능한 CSS 코드를 한 화면에서 확인하세요.

레이어 1개 직접 조정

그림자 #1

실시간 미리보기

box-shadow 속성이 실시간으로 갱신됩니다.

Live CSS

CSS 코드

box-shadow: 5px 5px 10px 0px rgba(0, 0, 0, 0.2);

CSS 그림자 가이드

그림자는 위치, 흐림, 확산을 같이 봐야 자연스럽습니다

CSS 그림자 효과 생성기는 여러 그림자 레이어를 조절하면서 미리보기와 box-shadow 코드를 같은 화면에서 확인하는 도구입니다. 수평·수직 오프셋은 그림자가 어느 방향으로 밀리는지를 정하고, 흐림과 확산은 그림자의 가장자리와 크기를 바꿉니다. 계산 버튼을 누르는 방식이 아니라 값을 바꾸는 즉시 코드가 갱신되므로, 눈으로 본 효과와 복사할 코드를 같이 맞추면 됩니다.

그림자 탭에서 값을 잡고, 미리보기 탭에서 대상 모양을 확인합니다

이 도구의 중심은 실시간 조정입니다. 그림자 자체의 CSS 값과 미리보기 박스의 모양 설정을 나눠서 보면 어떤 값이 실제 코드에 들어가는지 헷갈리지 않습니다.

  1. 그림자 탭에서 레이어를 만듭니다. 수평 오프셋, 수직 오프셋, 흐림, 확산, 색상, 투명도, 내부 그림자를 한 레이어 단위로 조절합니다.
  2. 필요하면 그림자 레이어를 추가합니다. 여러 레이어는 쉼표로 이어진 하나의 box-shadow 코드가 됩니다. 필요 없는 레이어는 삭제하고, 기본값으로 돌아갈 때는 초기화를 씁니다.
  3. 미리보기 탭에서 대상 요소를 바꿉니다. 사각형, 둥근 사각형, 원형, 버튼, 카드 모양과 크기를 바꿔 실제 적용 대상에 가까운 화면으로 확인합니다.
  4. 프리셋으로 출발점을 고른 뒤 코드를 복사합니다. 소프트, 레이어드, 네온 같은 프리셋은 시작값일 뿐입니다. 적용 전에는 CSS 코드 영역의 최종 값을 다시 확인합니다.

오프셋은 방향, 흐림과 확산은 그림자의 질감을 바꿉니다

box-shadow는 값의 이름이 비슷해 보이지만 역할이 다릅니다. 특히 흐림과 확산을 같은 값으로 생각하면 그림자가 너무 뭉개지거나, 반대로 딱딱한 테두리처럼 보일 수 있습니다.

수평·수직 오프셋

양수는 오른쪽·아래쪽, 음수는 왼쪽·위쪽으로 그림자를 보냅니다. 빛이 어디에서 오는지 정하는 값으로 보면 이해하기 쉽습니다.

흐림

그림자 가장자리를 얼마나 부드럽게 퍼뜨릴지 정합니다. 값이 커질수록 그림자는 넓고 옅게 보입니다.

확산

그림자 자체의 크기를 늘리거나 줄입니다. 양수는 크게 만들고, 음수는 그림자를 안쪽으로 줄여 더 가벼운 효과를 만들 수 있습니다.

색상과 투명도

도구는 색상과 투명도를 합쳐 rgba() 값으로 출력합니다. 같은 검정이라도 투명도 0.2와 0.5는 화면에서 전혀 다르게 보입니다.

내부 그림자

inset을 켜면 바깥 그림자가 아니라 요소 안쪽으로 눌린 듯한 그림자가 됩니다. 입력칸, 카드 안쪽, 눌린 버튼 느낌에 어울립니다.

미리보기 모양과 크기

모양과 크기는 미리보기 대상만 바꿉니다. 복사되는 box-shadow 값에는 요소의 너비와 높이가 들어가지 않습니다.

출력 코드는 CSS box-shadow 문법을 한 줄로 정리한 값입니다

기본 출력 순서는 inset 여부, 수평 오프셋, 수직 오프셋, 흐림, 확산, 색상입니다. 여러 그림자를 쓰면 각 레이어가 쉼표로 이어지며, 브라우저는 이 목록을 하나의 box-shadow 값으로 읽습니다.

기본 구조offset-x offset-y blur spread color
내부 그림자inset 0px 4px 12px -4px rgba(…)
여러 레이어shadow A, shadow B, shadow C
미리보기 크기코드가 아니라 화면 확인용 설정
MDN box-shadow 참고오프셋, 흐림, 확산, inset, 여러 그림자 문법을 확인할 때 봅니다.CSS Borders and Box Decorationsbox-shadow가 CSS 표준에서 어떤 속성으로 정의되는지 확인할 때 씁니다.

내부 그림자 예시는 한 줄의 inset 코드로 읽으면 됩니다

예를 들어 내부 그림자를 켜고 수평 12px, 수직 8px, 흐림 18px, 확산 -2px, 색상 #336699, 투명도 0.35를 넣으면 아래와 같은 값이 만들어집니다. 확산이 음수라 그림자가 너무 넓게 번지지 않고, inset 때문에 카드 안쪽으로 눌린 느낌이 납니다.

오프셋12px / 8px
흐림·확산18px / -2px
색상rgba(51, 102, 153, 0.35)
결과 코드inset 12px 8px 18px -2px …

그림자는 레이아웃 크기를 차지하지 않습니다

box-shadow는 요소 바깥으로 보여도 주변 요소를 밀어내지 않습니다. 부모 영역에 overflow: hidden이 있거나, 카드가 화면 가장자리에 붙어 있으면 그림자가 잘려 보일 수 있습니다.

복사하기 전에 실제 배경과 대비를 한 번 더 봅니다

그림자는 화면을 선명하게 만들 수도 있지만, 너무 강하면 카드가 떠 보이고 글자 주변이 지저분해질 수 있습니다. 특히 다크 배경과 밝은 배경에서는 같은 값도 체감이 다릅니다.

  • 흐림 값을 먼저 키우고 투명도는 낮게 둡니다. 진한 그림자보다 옅고 넓은 그림자가 더 자연스러운 경우가 많습니다.
  • 확산은 작은 폭으로 조절합니다. 큰 양수 확산은 그림자를 테두리처럼 보이게 만들 수 있고, 큰 음수 확산은 그림자를 거의 숨길 수 있습니다.
  • 여러 레이어는 적은 수로 시작합니다. 두세 개 이상을 겹치면 표현은 풍부해지지만, 코드가 길어지고 유지보수가 어려워질 수 있습니다.
  • 다크 화면에서는 색을 그대로 쓰지 않습니다. 밝은 화면에서 자연스러운 검정 그림자도 어두운 배경에서는 얼룩처럼 보일 수 있으므로 실제 배경에서 확인합니다.

자주 묻는 질문

미리보기 크기를 바꾸면 CSS 코드도 바뀌나요?

아니요. 미리보기 크기와 모양은 화면에서 효과를 확인하기 위한 대상 요소 설정입니다. 복사되는 값은 그림자의 오프셋, 흐림, 확산, 색상, inset 여부입니다.

여러 그림자를 추가하면 어떤 순서로 적용되나요?

도구는 각 그림자 레이어를 쉼표로 이어서 출력합니다. CSS에서는 같은 목록 안의 그림자들이 함께 적용되므로, 레이어가 많을수록 코드와 화면 효과를 같이 확인하는 편이 안전합니다.

흐림과 확산은 어떻게 다르게 써야 하나요?

흐림은 그림자 가장자리를 부드럽게 만들고, 확산은 그림자 면적을 키우거나 줄입니다. 부드러운 카드 그림자는 흐림을 먼저 조절하고, 확산은 작게 더하는 방식이 다루기 쉽습니다.

inset은 어떤 화면에 쓰면 좋나요?

inset은 요소 안쪽으로 들어간 그림자입니다. 눌린 버튼, 입력칸 안쪽, 카드 내부의 깊이감을 만들 때 어울리며, 일반 카드가 떠 보이는 효과와는 반대 느낌입니다.

Roberin
센스 있는 개발자
창의적이고 실용적인 툴로 더 나은 세상을 만드는 센스 있는 개발자, Roberin입니다. 기술은 모두를 위한 것, 함께 더 편리한 세상을 만들어 가요! 😊
문의 양식
확인에 필요한 이야기만 남겨주세요.
답장이 필요한 경우 이메일을 함께 적어주세요. 오류 제보라면 페이지 주소, 입력값, 기대한 결과와 실제 결과를 적어주시면 확인이 빨라집니다.