tailwind object fittailwind imagetailwind 이미지css object fitfrontend

Tailwind CSS로 구현하는 이미지 Object Fit

KUKJIN LEE
KUKJIN LEE
2024년 9월 10일
908

1. object-fit이란 무엇인가?

object-fit은 CSS 속성 중 하나로, 이미지나 비디오 같은 컨텐츠를 부모 요소 안에서 어떻게 크기를 조절하고 위치시킬지를 정의합니다. 주요 값으로는 fill, contain, cover, none, scale-down 등이 있습니다.

 

  • fill: 컨텐츠를 요소의 크기에 맞추어 늘리거나 줄입니다.

  • contain: 컨텐츠의 비율을 유지하면서 요소 안에 맞춥니다.

  • cover: 요소를 완전히 채우도록 컨텐츠를 늘리거나 줄입니다.

  • none: 크기를 조절하지 않습니다.

  • scale-down: none 또는 contain 중 더 작은 값을 적용합니다.

 

개인적으로 fill, contain, cover 외 사용 경험이 적었습니다.

 

2. Tailwind CSS에서 object-fit 설정하기

Tailwind CSS는 유틸리티 클래스 기반의 프레임워크로, object-fit을 쉽게 설정할 수 있습니다.

<img class="object-fill" src="/path/to/image.jpg" alt="example image">
<img class="object-contain" src="/path/to/image.jpg" alt="example image">
<img class="object-cover" src="/path/to/image.jpg" alt="example image">
<img class="object-none" src="/path/to/image.jpg" alt="example image">
<img class="object-scale-down" src="/path/to/image.jpg" alt="example image">

 

3. 실전예제

tailwind object-fit
<div class="bg-indigo-300 ...">
  <img class="object-cover h-48 w-96 ...">
</div>

위 코드와 이미지는 Tailwind 공식 문서에서 제공하는 코드와 이미지로 object-cover를 사용하면 요소를 완전 채우면서 비율을 유지합니다. 주로 배너 이미지에 사용됩니다.

 

다른 예시로 object-contain을 사용하게 된다면?

tailwind object fit study

이미지의 비율을 유지하면서 요소 안에 맞추어 표시합니다.

 

4. 자주 발생하는 문제와 그 해결 방법

이미지를 추가하고 object를 활용해도 width, height에 따라서 요소를 벗어나거나 비율이 맞지 않는 경우가 발생하게 됩니다. 이런 경우 aspect-ratio를 활용해 문제를 해결할 수 있습니다.

관련 글

TypeScript any 린트 에러(no-explicit-any) 근본적으로 해결하기

TypeScript 프로젝트에서 @typescript-eslint/no-explicit-any 린트 에러는 단순 규칙 비활성화로 해결할 문제가 아닙니다. 눈 앞 문제는 해결할 수 있지만, TypeScript를 사용하는 가장 중요한 이유를 위배하게 됩니다. any 타입은...

2025년 7월 23일269

JSP 주석, 아직도 `` 쓰시나요? 올바른 사용법

코드를 작성하다 보면 주석을 남기는 경우가 많습니다. 하지만 JSP 환경에서 어떤 주석을 사용하냐에 따라 보안 수준과 성능 이 크게 달라집니다. 표준 주석: 서버 사이드 주석 &lt;%-- --%&gt; JSP 페이지 내 개발 관련 주석은 &lt;%-- --%&gt; 를 사용하는게 좋습니다...

2025년 7월 9일144

쉽게 만드는 React Tab 라이브러리 react-tabs

개발자가 커스텀 스타일을 쉽게 적용할 수 있도록 최소한의 스타일만 제공하여 유연한 스타일링 이 가능한 라이브러리입니다. 상태 관리가 내장되어 있어 탭 선택 및 패널 표시 로직을 직접 구현할 필요 없이 간편하게 사용할 수 있습니다. 기본 사용법 먼저, 라이브러리를 설치합...

2025년 6월 17일173

Next.js 환경 변수 NEXT_PUBLIC 접두사 역할

NEXT_PUBLIC 접두사를 붙이면 변수의 접근 범위가 완전히 달라집니다. 이 차이점을 이해하는 것이 안전하고 효율적인 Next.js 애플리케이션을 구축하는 데 중요합니다. NEXT_PUBLIC 접두사가 없는 환경 변수 (서버 전용) NEXT_PUBLIC 접두사 없이...

2025년 6월 13일156