それは縫い目です。この問題ではJSを使用しないと解決策が見つかりません: 画像とその下に小さなテキストを含む水平スライダーを作成する必要があります。すべての画像を同じ高さにリサイズし、幅に合わせてサイズを変更する必要があります。画像の下には、画像が幅が狭い場合に複数の行に折り返すテキストがあります。 問題:周囲の要素の幅をイメージの幅に制限することに苦労しています(イメージの幅は分かりません)。 すべての画像が間隔を置かずに隣り合っていることが予想されます(Google画像検索に似ています)。CSS:含まれていないイメージで要素の幅を定義しないJS
私は外側の要素に白い空白を使用しています。内側のインラインブロックを表示すると、水平方向のスクロールができます。私もフレックスで試しましたが、違いはありません。 https://jsfiddle.net/lobin/awbL80st/
`<ul>
<li>
<div class="pic">
<img src="(url)">
</div>
<div class="text">
A longer text which should wrap to multiple lines.
</div>
</li>
<li>
...`
CSSが
ul {
list-style:none;
white-space: nowrap;
margin:0;
padding:0;
overflow-x:scroll;
width:500px;
height:240px;
}
li {
margin:0;
padding:0;
display:inline-block;
}
.pic {
height:150px;
}
img {
height:100%;
width:auto;
}
.text {
white-space:normal;
}`
任意のアイデアです:
は、ここで私が持っているもののフィドルですか?
EDIT:写真の下側に は、画像の幅に対する各PICの折り返しのためのテキストのようになります。 期待される結果は、このようなものです。
簡単になりおかげで、...画像の比率は維持されなければならないと何のトリミングは発生しません。そのため、ポートレート画像は、ポートレートモード(最初と最後)で表示され、横長画像は横長モードで表示されます。問題は、私は画像のサイズを知らないということです。 – Wolfgang
javascriptの助けを借りれば、それ以外ではCSSで画像サイズを取得できません –
2番目のオプション表示:table-cellが動作します - 少なくとも半分ですが、このアプリケーションでは可能です。 – Wolfgang