두 개의 side-by-side div (텍스트가 포함 된)와 전체적으로 이미지로 채워진 두 개의 side-by-side div가있는 css3 대응 기술을 찾고 있습니다. 최소한 이미지 종횡비는 유지되어야합니다. 이상적으로 두 div는 항상 동일한 크기의 사각형이어야합니다 (쌓인 경우에도 마찬가지입니다).반응 형 방식으로 이미지로 div 채우기
편집 - 바이올린 :
https://jsfiddle.net/marekjedlinski/zdwdhLmg/
HTML :
<div class="outer outer-left">
<div class="inner inner-text inner-text-left block-orange">
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Maecenas pharetra lorem in ligula volutpat euismod. Nullam eu lorem tellus. Donec luctus lacus in felis blandit quis accumsan nulla imperdiet. Phasellus lorem quam, egestas et scelerisque ac, consequat nec diam. Nunc elit elit, venenatis at eleifend eget, feugiat eu elit.</p>
</div>
<div class="inner inner-img">
<img src="image-1-300.jpg" />
</div>
</div>
<div class="outer outer-right">
<div class="inner inner-img">
<img src="image-2-300.jpg" />
</div>
<div class="inner inner-text inner-text-right block-green">
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Maecenas pharetra lorem in ligula volutpat euismod. Nullam eu lorem tellus. Donec luctus lacus in felis blandit quis accumsan nulla imperdiet. Phasellus lorem quam, egestas et scelerisque ac, consequat nec diam. Nunc elit elit, venenatis at eleifend eget, feugiat eu elit.</p>
</div>
</div>
CSS는 :
* {
box-sizing: border-box;
}
html, body {
width: 100%;
font-size: 18px;
margin: 0;
}
.outer {
display: flex;
flex-direction: row;
}
.outer-left {
flex-wrap: wrap-reverse; /* when wrapped, image must sit on top of text */
}
.outer-right {
flex-wrap: wrap;
}
.inner {
flex: 1 1 300px; /* grow, shrink, basis */
}
.inner-img {
background: #563D7C;
text-align: right;
display: flex;
justify-content: center;
align-items: center;
overflow: hidden
}
.inner-img img {
flex-shrink: 0;
min-width: 100%;
min-height: 100%
}
/* below only text styling for text divs, not relevant */
나는 인 flexbox를 사용하는 방법 몇 가지를 얻을 수 있습니다.
브라우저 창 그러나 성장
, 이미지가 늘어나지 :는 최소한 내가 가로 세로 비율이 원하는 이것은 이상적인 상황 출발점이다 유지. 이미지가 잘리는 경우에는 문제가 없지만 사각형을 이미지 및 텍스트 용 사각형으로 성장시켜 이미지 크기가 비례 적으로 조정되도록하는 것이 이상적입니다.
수평 공간 축소와 div를 쌓아받을 때 이제 이미지가 다시 뻗어 있습니다 : 여기
난 여전히에서 이미지 div의 텍스트 div를 완벽한 사각형을 유지하기를 원하지만 적어도 종횡비 같이,
이상적
유지해야필자는 flexbox 또는 이전 기술을 사용할 수 있지만이 기술은 호환이 가능해야하며 출혈이 아닌 것이 좋습니다 (예 : 객체 적합성은 너무 미래가 보입니다).
비슷한 질문 here 및 here있다, 그들은 가까이 오지하지만 (이 특정 문제를 해결할 수 없습니다.) 않는
가 바이올린에 공유하거나 codepen하십시오 텍스트가 더 이상 얻는 경우에 ... –
는 어떻게 평방 될 수 있을까? –
@Dhaval : 업데이트되었습니다. –