DevToolPal
한국어

CSS 스프라이트 생성기

아이콘을 하나의 스프라이트 시트 PNG로 합치고, 이미지별 CSS background-position 클래스를 만듭니다.

로컬에서 실행, 업로드 없음

옵션

원본 이미지

이미지 (0)

PNG, SVG, GIF, JPG 이미지를 추가하세요. 아무것도 업로드되지 않습니다.

스프라이트

CSS

기능 소개

CSS 스프라이트 생성기는 아이콘이나 작은 이미지 묶음을 하나의 스프라이트 시트로 합치고, 각 이미지를 표시하는 CSS를 작성해 줍니다. PNG, SVG, GIF, JPG 파일을 추가하고 배치 방식을 고른 뒤, 스프라이트 PNG와 이미지마다 클래스가 하나씩 들어 있는 스타일시트를 함께 다운로드하세요.

클래스 이름은 파일 이름에서 만들어집니다. Home Icon.png는 .icon-home-icon이 되고, 이름이 겹치면 번호가 붙습니다. 빽빽하게 레이아웃은 빈 패킹(bin packing)으로 크기가 다른 이미지를 가장 작은 시트에 배치하고, 세로, 가로, 격자는 예측 가능한 위치를 제공합니다.

사용 방법

  1. **이미지 추가…**를 누르고 아이콘을 선택합니다(예시 세트로 시작해도 됩니다).
  2. 레이아웃과 간격을 고릅니다. 간격을 조금 두면 브라우저가 크기를 조정할 때 이웃한 아이콘이 서로 번져 보이는 것을 막을 수 있습니다.
  3. 클래스 접두사와 background-image에 쓰일 스프라이트 파일 이름을 설정합니다.
  4. 레티나 화면용으로 이미지를 두 배 크기로 그렸다면 @2x를 선택합니다.
  5. PNG 다운로드와 CSS 다운로드를 눌러(디자인 도구나 채팅에 스프라이트를 붙여 넣으려면 이미지 복사) 두 파일을 모두 업로드한 뒤 클래스를 사용합니다: <span class="icon icon-home"></span>.

예시

.icon {
  display: inline-block;
  background-image: url("sprite.png");
  background-repeat: no-repeat;
}

.icon-home {
  width: 32px;
  height: 32px;
  background-position: 0 0;
}

팁

  • 함께 바뀌는 아이콘끼리 한 스프라이트에 묶으세요. 시트를 다시 생성하면 모든 위치가 바뀝니다.
  • CSS로 색을 바꿔야 하는 단색 아이콘이라면 SVG 아이콘 폰트나 인라인 SVG가 더 적합할 수 있습니다.

자주 묻는 질문

› CSS 스프라이트란 무엇인가요?

여러 개의 작은 이미지를 담은 하나의 이미지입니다. 요소의 배경으로 스프라이트를 지정하고 background-position으로 위치를 옮겨 각 아이콘을 표시하므로, 페이지에서 수십 번 대신 한 번만 요청하면 됩니다.

› HTTP/2 환경에서도 스프라이트가 유용한가요?

예전만큼은 아니지만 작은 아이콘이 많을 때, 이메일 템플릿, 게임, 레거시 프로젝트에서는 여전히 도움이 되며, 아이콘이 하나씩 로드되며 깜박이는 현상도 막아 줍니다.

› @2x 옵션은 어떤 역할을 하나요?

원본 이미지를 표시 크기의 두 배로 그렸다면 CSS가 모든 너비, 높이, 위치를 절반으로 줄이고 background-size를 추가하므로 고밀도 화면에서도 아이콘이 선명하게 유지됩니다.

› 이미지가 업로드되나요?

아니요. 스프라이트는 브라우저에서 canvas로 그리고 CSS도 로컬에서 생성됩니다.