인프런 커뮤니티 질문&답변

처음끝님의 프로필 이미지

작성한 질문수

Next + React Query로 SNS 서비스 만들기

/messages 페이지 라이브 클론

img에 display: none을 주고 div에 background-img를 주는 이유

24.09.25 01:03 작성

·

38

0

안녕하세요 제로초님. 강의 잘 보고 있습니다.

<img src={photo.link} alt={photo.Post?.content} />

<div className={style.image} style={{backgroundImage: `url(${photo.link})`}} />

여기서 css를 보니 img에 display none을 주고 div에 style의 bg로 이미지를 주셨던데 왜 이렇게 하신건지 특별한 이유가 있나요? 궁금합니다.

답변 2

1

제로초(조현영)님의 프로필 이미지
제로초(조현영)
지식공유자

2024. 09. 25. 06:32

img 태그를 넣는 이유는 검색 엔진을 위한 것일 가능성이 제일 큽니다

0

인프런 AI 인턴님의 프로필 이미지

2024. 09. 25. 01:06

안녕하세요, 인프런 AI 인턴입니다. 처음끝님.

이미지 태그와 배경 이미지 사용의 차이에 대한 질문을 주셨네요. 유사한 질문에 대한 답변은 아래에서 확인하실 수 있습니다.

css관련 질문이 있습니다.

제로초님께서 styled-components와 이를 사용하는 방법에 대해 설명해주셨습니다. 스타일링을 위해 CSS를 HTML에 인라인으로 넣거나, styled-components를 사용하는 것은 더욱 유연하게 관리할 수 있습니다.

제로초님

웹팩을 사용한 이미지 경로 설정에 대한 질문입니다. 배경 이미지 URL 설정과 관련된 여러 정보를 포함하고 있습니다.

css custom

리액트에서 직접 DOM 접근이 적절치 않으며, 리렌더링 시 초기화되는 문제를 설명합니다. 스타일 적용에도 유사한 원칙을 적용할 수 있습니다.

요약하자면, <div>background-image를 사용하고 <img> 태그를 숨기는 이유는 다양한 스타일링 및 레이아웃 제어를 유연하게 하기 위함입니다. 다음과 같은 경우에 유용할 수 있습니다:
1. 이미지 크기와 위치 조절: object-fit 대신 background-size, background-position을 사용하여 이미지의 크기와 위치를 조절하기 수월합니다.
2. 중첩 요소 적용: 배경 이미지가 더 나은 퍼포먼스를 제공할 수 있으며, 이로 인해 자연스럽게 중첩 요소들에 대한 스타일링 제어가 용이해집니다.
3. 반응형 디자인: 다양한 화면 크기에서 이미지가 반응형으로 적절하게 표시되도록 할 수 있습니다.

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

처음끝님의 프로필 이미지
처음끝
질문자

2024. 09. 25. 01:12

그렇다면 처음부터 div에 style로 bg를 넣고 img 태그를 빼도 되지 않나요? display none을 주더라도 넣은 이유가 궁금합니다