纯css制作相册
使用CSS Grid布局创建相册
HTML结构中创建一个包含多个图片的容器
<div class="photo-album">
<img src="image1.jpg" alt="Photo 1">
<img src="image2.jpg" alt="Photo 2">
<img src="image3.jpg" alt="Photo 3">
<!-- 更多图片 -->
</div>
CSS样式设置网格布局和图片样式
.photo-album {
display: grid;
grid-template-columns: repeat(auto-fill, minmax(250px, 1fr));
gap: 15px;
padding: 20px;
}
.photo-album img {
width: 100%;
height: 200px;
object-fit: cover;
border-radius: 8px;
box-shadow: 0 4px 8px rgba(0,0,0,0.1);
transition: transform 0.3s ease;
}
.photo-album img:hover {
transform: scale(1.05);
}
使用Flexbox实现响应式相册
HTML结构与之前类似
<div class="flex-album">
<div class="photo-item">
<img src="image1.jpg" alt="Photo 1">
</div>
<!-- 更多图片项 -->
</div>
CSS样式设置弹性布局
.flex-album {
display: flex;
flex-wrap: wrap;
justify-content: center;
gap: 20px;
padding: 15px;
}
.photo-item {
flex: 1 1 300px;
max-width: 350px;
}
.photo-item img {
width: 100%;
height: 220px;
object-fit: cover;
border: 5px solid white;
box-shadow: 0 0 10px rgba(0,0,0,0.2);
}
添加图片悬停效果
为图片添加更多交互效果
.photo-item {
position: relative;
overflow: hidden;
}
.photo-item::after {
content: attr(data-title);
position: absolute;
bottom: -50px;
left: 0;
width: 100%;
padding: 10px;
background: rgba(0,0,0,0.7);
color: white;
text-align: center;
transition: bottom 0.3s ease;
}
.photo-item:hover::after {
bottom: 0;
}
.photo-item img {
transition: transform 0.5s ease;
}
.photo-item:hover img {
transform: scale(1.1);
}
创建瀑布流布局相册
使用CSS columns属性实现瀑布流效果
.waterfall-album {
columns: 3 250px;
column-gap: 15px;
padding: 10px;
}
.waterfall-album img {
width: 100%;
margin-bottom: 15px;
break-inside: avoid;
border-radius: 5px;
filter: grayscale(30%);
transition: filter 0.3s ease;
}
.waterfall-album img:hover {
filter: grayscale(0%);
}
相册图片滤镜效果
为图片添加各种CSS滤镜

.photo-album img {
filter: brightness(0.95) contrast(1.05);
}
.photo-album img:nth-child(3n) {
filter: sepia(0.3);
}
.photo-album img:nth-child(3n+1) {
filter: hue-rotate(10deg);
}
.photo-album img:hover {
filter: none;
}






