현재 회사의 모바일 랜딩 페이지를 작업하고 있습니다. 정말 기본적인 레이아웃이지만 헤더 아래에는 항상 너비가 100 % 인 제품 이미지가 있습니다 (디자인은 항상 가장자리에서 가장자리로 이동 함을 보여줍니다). 화면의 너비에 따라 이미지의 높이가 그에 따라 분명히 조정됩니다. 저는 원래 img (CSS 너비가 100 %)로이 작업을 수행했으며 훌륭하게 작동했지만 미디어 쿼리를 사용하여 다양한 해상도에 따라 다른 이미지를 제공하고 싶다는 것을 깨달았습니다. 예를 들어, 동일한 이미지의 큰 버전. CSS로 img src를 변경할 수 없다는 것을 알고 있으므로 HTML의 img 태그가 아닌 이미지에 CSS 배경을 사용해야한다고 생각했습니다.
배경 이미지가있는 div는 배경을 표시하기 위해 너비와 높이가 모두 필요하기 때문에 제대로 작동하지 않는 것 같습니다. 당연히 '폭 : 100 %'를 사용할 수 있지만 높이는 무엇을 사용합니까? 150px와 같은 임의의 고정 높이를 넣을 수 있으며 이미지의 상단 150px를 볼 수 있지만 고정 높이가 없기 때문에 해결책이 아닙니다. 나는 놀았고 높이가 있으면 (150px로 테스트) 'background-size : 100 %'를 사용하여 div에 이미지를 올바르게 맞출 수 있음을 발견했습니다. 이 프로젝트는 모바일 전용이므로 최신 CSS3를 사용할 수 있습니다.
아래에 대략적인 예를 추가했습니다. 인라인 스타일을 용서해주십시오. 그러나 저는 제 질문을 좀 더 명확하게하기 위해 기본적인 예를 들었습니다.
<div id="image-container">
<div id="image" style="background: url(image.jpg) no-repeat; width: 100%; height: 150px; background-size: 100%;"></div>
</div>
컨테이너 div에 전체 페이지를 기준으로 백분율 높이를 지정해야합니까? 아니면 완전히 잘못보고 있습니까?
또한 CSS 배경이이를 수행하는 가장 좋은 방법이라고 생각하십니까? 장치 / 화면 너비에 따라 다른 img 태그를 제공하는 기술이있을 수 있습니다. 일반적인 아이디어는 랜딩 페이지 템플릿이 다른 제품 이미지와 함께 여러 번 사용될 것이므로 가능한 최선의 방법으로 개발해야합니다.
죄송합니다.이 작업은 다소 시간이 오래 걸리지 만이 프로젝트에서 다음 프로젝트로 앞뒤로 진행 중이므로이 작은 작업을 완료하고 싶습니다. 시간 내 주셔서 미리 감사드립니다. 문안 인사