CSS 瀑布流(Masonry Layout)是一种流行的网页布局方式,它通过将元素垂直排列,同时根据每列的高度动态调整元素的位置,使得布局看起来像瀑布一样。这种布局方式特别适合图片展示,因为它可以有效地利用空间,使得页面看起来更加美观。
瀑布流布局的核心在于动态计算每列的高度,并将元素放置到最短的列中,以保持列与列之间的平衡。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>CSS Masonry Layout</title>
<style>
.masonry {
display: grid;
grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
grid-gap: 10px;
}
.masonry-item {
width: 100%;
background-color: #ccc;
padding-bottom: 100%; /* 保持宽高比 */
position: relative;
}
.masonry-item img {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
object-fit: cover;
}
</style>
</head>
<body>
<div class="masonry">
<div class="masonry-item">
<img src="image1.jpg" alt="Image 1">
</div>
<div class="masonry-item">
<img src="image2.jpg" alt="Image 2">
</div>
<div class="masonry-item">
<img src="image3.jpg" alt="Image 3">
</div>
<!-- 更多图片项 -->
</div>
</body>
</html>.masonry-item 的宽度和高度设置正确,避免重叠。object-fit: cover 确保图片在容器中正确显示。grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); 确保布局在不同屏幕尺寸下都能良好显示。通过以上方法,你可以实现一个简单且美观的 CSS 瀑布流布局。