css制作网页相册
使用CSS Grid布局创建相册
通过CSS Grid可以快速实现响应式相册布局。定义一个包含图片和标题的网格容器:
.photo-gallery {
display: grid;
grid-template-columns: repeat(auto-fill, minmax(250px, 1fr));
gap: 20px;
padding: 20px;
}
.photo-item {
border: 1px solid #ddd;
border-radius: 8px;
overflow: hidden;
transition: transform 0.3s ease;
}
.photo-item:hover {
transform: scale(1.05);
}
.photo-item img {
width: 100%;
height: 200px;
object-fit: cover;
}
.caption {
padding: 10px;
text-align: center;
background: #f9f9f9;
}
添加悬停动画效果
为相册图片添加悬停交互效果能提升用户体验:
.photo-item {
position: relative;
}
.overlay {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
background: rgba(0,0,0,0.5);
color: white;
display: flex;
align-items: center;
justify-content: center;
opacity: 0;
transition: opacity 0.3s;
}
.photo-item:hover .overlay {
opacity: 1;
}
实现图片滤镜效果
CSS滤镜可以为相册添加视觉风格:
.photo-item img {
filter: grayscale(20%);
transition: filter 0.3s;
}
.photo-item:hover img {
filter: grayscale(0%);
}
创建Masonry瀑布流布局
使用CSS columns实现不规则高度图片的瀑布流效果:
.masonry-gallery {
column-count: 3;
column-gap: 20px;
}
.masonry-item {
break-inside: avoid;
margin-bottom: 20px;
}
添加响应式设计
确保相册在不同设备上都能良好显示:
@media (max-width: 768px) {
.photo-gallery {
grid-template-columns: repeat(2, 1fr);
}
.masonry-gallery {
column-count: 2;
}
}
@media (max-width: 480px) {
.photo-gallery {
grid-template-columns: 1fr;
}
.masonry-gallery {
column-count: 1;
}
}
实现图片模态框预览
通过CSS和少量JavaScript实现点击图片放大预览:
.modal {
display: none;
position: fixed;
z-index: 1000;
left: 0;
top: 0;
width: 100%;
height: 100%;
background-color: rgba(0,0,0,0.9);
}
.modal-content {
margin: auto;
display: block;
max-width: 80%;
max-height: 80%;
}
.close {
position: absolute;
top: 15px;
right: 35px;
color: #f1f1f1;
font-size: 40px;
cursor: pointer;
}






