テーブルセルの私の理解は、各テーブルセルの高さが最も高いテーブルセルと同じ高さに拡大することです。しかし、この例では、.col1
内のimg
がdisplay: block
に設定され、.col2
内のテキストが最後まで押し込まれると、.col2
の高さは.col1
以下になります。 display: block
がimg
から削除されている場合は、.col1
と.col2
がテキストを中央に揃えて整列しています。私の質問は、なぜimg
のdisplay: block
は、表セルのレンダリング方法とテキストの配置方法を変更するのですか?差異を確認するにはimg
にdisplay: block
を切り替えます。テーブルセルの高さ、imgの表示:ブロック
https://codepen.io/norkuy/pen/EvQQrE
HTML
<div class="row1">
<div class="col1">
<img src="http://lorempixel.com/1000/800/" alt="">
</div>
<div class="col2">
<p><div>Lorem ipsum dolor sit amet consectetur, adipisicing elit. Amet
mollitia est maiores temporibus ea, sint ex repellat ipsa eveniet nesciunt.
</div></p>
</div>
</div>
<p><div>Lorem ipsum dolor sit amet consectetur adipisicing elit. Ab veniam
praesentium delectus aliquid ea nisi porro eius rem debitis architecto quas,
hic placeat ratione possimus voluptates perferendis at voluptatibus tenetur!
</div></p>
CSS
.col1, .col2 {
width: 50%;
display: table-cell;
}
.col2 {
background: black;
color: white;
}
.row1 {
display: table;
img {
display: block;
}
}
img {
max-width: 100%;
width: 100%;
}
お客様のHTMLは無効です。段落にdivを含めることはできません。 – j08691
vertical-alignを使用するようにしてください。テーブルセルの要素に – Dexter0015
欠けているのは、あなたの行に 'table-row'の表示があるということです。 – Kejt