인프런 영문 브랜드 로고
인프런 영문 브랜드 로고

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

처음끝님의 프로필 이미지
처음끝

작성한 질문수

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

/messages 페이지 라이브 클론

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

작성

·

74

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

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

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

0

안녕하세요, 인프런 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. 반응형 디자인: 다양한 화면 크기에서 이미지가 반응형으로 적절하게 표시되도록 할 수 있습니다.

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

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

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

처음끝님의 프로필 이미지
처음끝

작성한 질문수

질문하기