CSS Box Shadow 생성기

슬라이더로 offset·blur·spread·색상·투명도를 조절해서 CSS box-shadow를 실시간 미리보고 코드를 복사합니다.

CSS Box Shadow란?

box-shadow는 CSS 속성으로 HTML 요소 주변에 그림자 효과를 만듭니다. 단순한 드롭 섀도우부터 neumorphism 스타일의 복잡한 그림자까지, 이미지 처리 없이 순수 CSS만으로 깊이감과 입체감을 연출할 수 있습니다. 모던 웹 디자인에서 카드·버튼·박스의 시각 계층을 표현하는 핵심 도구이며, 성능(이미지 로드 불필요)과 유지보수(색상·크기 즉시 변경)에서 매우 효율적입니다.

이렇게 쓰세요

  1. offset-x / offset-y 슬라이더로 그림자의 위치를 정합니다. 음수면 왼쪽/위, 양수면 오른쪽/아래입니다.
  2. blur로 그림자 가장자리의 흐림 정도를, spread로 그림자 크기를 조절합니다. 색상 피커와 투명도로 그림자 모양을 마무리합니다.
  3. 필요하면 inset 체크박스로 안쪽 그림자 효과를 추가한 뒤, CSS 코드 복사 버튼으로 코드를 클립보드에 복사합니다.

자주 쓰는 그림자 패턴

  • 카드 그림자: offset-x 0, offset-y 2~4px, blur 8~12px, 투명도 0.1~0.2. 웹사이트 카드·모달에서 가장 흔한 패턴입니다.
  • 뜬듯한 효과: offset-y를 크게(8~16px), blur를 높게(16~32px), 투명도를 낮게(0.1~0.15). 마치 떠 있는 것처럼 보입니다.
  • 내부 함몰: inset 체크, offset 0, blur 중간(8~12px), 투명도 0.2. 상자 안쪽이 파인 효과를 냅니다.
  • Neumorphism: 밝은 inset 그림자(흰색)와 어두운 외부 그림자(검은색)를 조합. 부드럽고 입체적인 현대식 UI 스타일입니다.

알아두면 좋은 점

  • 음수 offset-x/y를 사용하면 그림자가 반대 방향(왼쪽·위)으로 나타납니다. 버튼을 누른 상태처럼 표현할 때 유용합니다.
  • spread가 음수면 그림자가 원래 상자보다 작아집니다. 음수를 조합하면 세밀한 border 대용 효과도 만들 수 있습니다.
  • 쉼표로 여러 box-shadow를 연결하면 복합 그림자를 만들 수 있습니다. 예: box-shadow: 0 4px 6px ..., inset 0 0 4px ...;
  • box-shadow는 transition과 함께 애니메이션할 수 있습니다. 버튼 hover 효과에 자주 쓰입니다.
  • 매우 큰 blur나 spread를 과도하게 쓰면 성능 저하가 있을 수 있습니다. 대부분의 경우 blur ≤ 50, spread ≤ 20이면 충분합니다.

자주 묻는 질문

box-shadow의 4개 인자는 무엇인가요?

box-shadow의 4개 주요 인자는 다음과 같습니다. (1) offset-x: 그림자의 수평 거리(음수면 왼쪽). (2) offset-y: 그림자의 수직 거리(음수면 위쪽). (3) blur: 그림자의 흐림 정도(0이면 선명함, 클수록 부드러움). (4) spread: 그림자의 크기(음수면 축소, 양수면 확대). 그 뒤에 색상(hex·rgb·rgba)과 선택적으로 inset 키워드가 옵니다.

inset 효과는 무엇인가요?

inset 키워드를 추가하면 그림자가 상자 바깥쪽이 아니라 안쪽에 생깁니다. 상자가 함몰되거나 깊이가 있어 보이는 효과를 낼 수 있습니다. 예를 들어 inset 0 0 10px rgba(0,0,0,0.2)는 상자 내부에 검은 그림자를 만들어 홈이 파인 느낌을 줍니다.

여러 그림자를 합치는 방법은?

쉼표(,)로 여러 box-shadow 값을 구분하면 됩니다. 예: box-shadow: 0 4px 8px rgba(0,0,0,0.2), 2px 2px 0 rgba(255,0,0,0.1), inset 0 0 5px rgba(0,0,0,0.05); 이렇게 최대 수십 개까지 중첩할 수 있으며, 순서대로 렌더링됩니다. 뒤의 그림자가 앞의 그림자 위에 표시됩니다.

RGBA 투명도 vs 16진수 8자리(#RRGGBBAA)는 어떻게 다르나요?

rgba(r, g, b, a)는 빨강·초록·파랑을 0~255 또는 0~1로, 투명도 a를 0~1로 표현합니다. #RRGGBBAA(16진수 8자리)는 같은 색상·투명도를 16진법으로 표현합니다. 예: rgba(0,0,0,0.2) ≈ #00000033(16진 33 ≈ 0.2). CSS에서 둘 다 지원되지만, rgba()는 모든 브라우저에서 오래전부터 지원되고 #RRGGBBAA는 비교적 최신 브라우저(IE 미지원)에서 지원됩니다.

모든 작업이 기기 내에서 처리됩니다. 입력한 값이나 생성된 코드는 서버로 전송되지 않습니다.