如果您无法更改 HTML,则可以这样做:
.gallery {
width: /* ((width of .image including padding/margin) * 3) */
overflow: hidden;
margin: /* top: 0, right: 0, bottom: -(size of .image's bottom margin), left: -(size of .image's left margin) */
/*
yes, that's right, the left/bottom margins are negative, but it's purely presentational
for left floated .image, replace right with left
*/
}
否则,使用 CSS 显示属性即可。
还应该指出,部分/标题/段落标签可能比无意义的
div
标签更合适。 或者,figure/figcaption 集合也可能合适:
我更喜欢使用
grid
来创建可靠的代码。
.grid-container {
display: grid;
grid-template-columns: 1fr 1fr 1fr;
grid-template-rows: 1fr 1fr;
gap: 0px 0px;
grid-template-areas:
"img1_1 img1_2 img1_3"
"img2_1 img2_2 img2_3";
}
.img{
border: 1px solid #000;
text-align: center;
}
.img1_1 { grid-area: img1_1; }
.img1_2 { grid-area: img1_2; }
.img1_3 { grid-area: img1_3; }
.img2_1 { grid-area: img2_1; }
.img2_2 { grid-area: img2_2; }
.img2_3 { grid-area: img2_3; }
<div class="grid-container">
<div class="img img1_1"> img1_1</div>
<div class="img img1_2"> img1_2</div>
<div class="img img1_3"> img1_3</div>
<div class="img img2_1"> img2_1</div>
<div class="img img2_2"> img2_2</div>
<div class="img img2_3"> img2_3</div>
</div>