上記のスクリーンショットは問題を示しています。他の類似の質問とは異なり、私は国際的なテキストのためにこれを行う必要はありません。画面のサイズやテキストの量を変えるためにはこれが必要です。このテキストはプロダクションのデータベースから来るので、divを前に移動する必要があるブレークポイントを簡単に把握することはできません。
私が探している解決策は、まずテキストブロックを画像の下に移動し、テキストdivをすべてのテキストに合わせて必要に応じて垂直方向にサイズ変更します。 JSまたはCSSソリューションは問題ありません。以下
HTML:
<div class="product">
<img class="productImg" src="http://placehold.it/300x240">
<div class="productTxt">
<h1>Title</h1>
<h3>Price</h3>
<p>Suspendisse sed fermentum neque, vel rutrum velit. Curabitur eget dolor luctus, sodales felis sed, dapibus justo.
Suspendisse in condimentum ante. Sed nec dui tristique, sollicitudin velit eget, ultricies dui.
Ut rhoncus ornare urna, quis venenatis velit ornare eu. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas.
Etiam ornare sem finibus lectus volutpat, in feugiat elit ultrices. In sed vulputate eros, quis volutpat elit.
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse nisi libero, posuere nec laoreet quis, viverra et lorem. Duis odio ante, efficitur et felis at, tincidunt interdum ante.
Quisque vestibulum eu est a egestas. Nunc hendrerit rutrum dui at cursus. Aliquam mollis nec magna ac mattis.
Nam nec est tincidunt leo facilisis finibus non nec mauris. Vestibulum rutrum tristique tincidunt. </p>
</div>
</div>
CSS:
.product {
box-sizing: border-box;
margin: 0px;
padding: 10px;
width: 100%;
height: 330px;
border-bottom: 2px solid #16A085;
}
.productImg {
width: 240px;
height: 300px;
display: inline-block;
position: relative;
}
.productTxt {
box-sizing: border-box;
vertical-align: top;
display: inline-block;
height: 100%;
width: calc(100% - 270px);
padding: 10px;
text-align: center;
position: relative;
border: 2px solid blue;
}
は、私は本当に(同じdiv要素内にある別の要素の位置を壊すことなくproductTxt
div要素からの相対的な位置を削除することはできません
これは純粋なCSSで可能かどうかはわかりませんが、少しJSの手助けをすれば簡単です。 '.productTxt' divごとに、そのclientHeightとscrollHeightを比較します。 scrollHeightがclientHeightを超えている場合は、オーバーフローしていることがわかります。クラス '.product' divにクラスを適用して' .productTxt' divの表示、高さ、幅のプロパティを教えることができます。 '.product' div。 – Alohci