如何创建:响应式图片库
学习如何使用 CSS 创建响应式图库。
图片库
请调整浏览器窗口大小,以查看响应效果:
创建图片库
第一步 - 添加 HTML:
<div class="responsive"> <div class="gallery"> <a target="_blank" href="img_5terre.jpg"> <img src="img_5terre.jpg" alt="Cinque Terre"> </a> <div class="desc">Add a description of the image here</div> </div> </div> <div class="responsive"> <div class="gallery"> <a target="_blank" href="img_forest.jpg"> <img src="img_forest.jpg" alt="Forest"> </a> <div class="desc">Add a description of the image here</div> </div> </div> <div class="responsive"> <div class="gallery"> <a target="_blank" href="img_lights.jpg"> <img src="img_lights.jpg" alt="Northern Lights"> </a> <div class="desc">Add a description of the image here</div> </div> </div> <div class="responsive"> <div class="gallery"> <a target="_blank" href="img_mountains.jpg"> <img src="img_mountains.jpg" alt="Mountains"> </a> <div class="desc">Add a description of the image here</div> </div> </div> <div class="clearfix"></div>
第二步 - 添加 CSS:
这个例子使用媒体查询来重新排列不同屏幕尺寸上的图片:对于宽度大于700像素的屏幕,它会并排显示四张图片;对于宽度小于 700 像素的屏幕,它会并排显示两张图片。对于宽度小于 500 像素的屏幕,图片会垂直堆叠(100%):
div.gallery { border: 1px solid #ccc; } div.gallery:hover { border: 1px solid #777; } div.gallery img { width: 100%; height: auto; } div.desc { padding: 15px; text-align: center; } * { box-sizing: border-box; } .responsive { padding: 0 6px; float: left; width: 24.99999%; } @media only screen and (max-width: 700px) { .responsive { width: 49.99999%; margin: 6px 0; } } @media only screen and (max-width: 500px) { .responsive { width: 100%; } } .clearfix:after { content: ""; display: table; clear: both; }
相关页面
教程:HTML 图像
教程:CSS 设置图像样式