使用flexbox可高效创建响应式图片画廊。首先构建包含多张图片的容器,应用display: flex、flex-wrap: wrap和gap设置间距;通过calc()计算每张图片宽度,结合Object-fit: cover确保尺寸统一且不变形,并添加border-radius和hover缩放提升视觉效果;最后利用媒体查询在不同屏幕下调整图片列数,实现良好适配。关键在于gap与calc的协同控制布局平衡。

在 css 中制作一个简单的图片画廊布局,关键在于使用合适的布局方式让图片整齐排列,并保持响应式效果。下面介绍一种常见且实用的方法,使用 Flexbox 实现简洁美观的图片画廊。
1. html 结构
为图片画廊准备一个容器,并在其中放入多张图片:
<div class="gallery"><br> <img src="image1.jpg" alt="图片1"><br> <img src="image2.jpg" alt="图片2"><br> <img src="image3.jpg" alt="图片3"><br> <img src="image4.jpg" alt="图片4"><br></div>
2. 使用 Flexbox 布局
通过 Flexbox 让图片自动换行并等间距排列:
.gallery {<br> display: flex;<br> flex-wrap: wrap;<br> gap: 10px; /* 图片之间的间距 */<br> padding: 10px;<br>}
.gallery img {<br> width: calc(25% - 10px); /* 每行显示4张图,减去间距影响 */<br> height: 200px;<br> object-fit: cover;<br> border-radius: 8px;<br> transition: transform 0.2s;<br>}
立即学习“前端免费学习笔记(深入)”;
.gallery img:hover {<br> transform: scale(1.05); /* 鼠标悬停时轻微放大 */<br>}
3. 响应式适配
让画廊在小屏幕上也能良好显示,可以添加媒体查询调整列数:
@media (max-width: 768px) {<br> .gallery img {<br> width: calc(33.333% - 10px); /* 每行3张 */<br> }<br>}
@media (max-width: 480px) {<br> .gallery img {<br> width: calc(50% - 10px); /* 每行2张 */<br> }<br>}
4. 可选优化
提升用户体验的小细节:
- 使用 object-fit: cover 避免图片变形
- 设置固定高度让整体更整齐
- 添加圆角和阴影增强视觉效果
- 加入 hover 效果提升交互感
基本上就这些。用 Flexbox 制作图片画廊简单高效,兼容性好,适合大多数网页场景。不复杂但容易忽略的是 gap 和 calc 的配合使用,能有效控制间距与布局平衡。