css样式制作相册
CSS相册制作方法
使用CSS Grid布局创建响应式相册。通过网格系统自动调整图片排列,适应不同屏幕尺寸。
.photo-gallery {
display: grid;
grid-template-columns: repeat(auto-fill, minmax(250px, 1fr));
grid-gap: 15px;
padding: 20px;
}
.gallery-item {
overflow: hidden;
border-radius: 8px;
box-shadow: 0 4px 8px rgba(0,0,0,0.1);
transition: transform 0.3s ease;
}
.gallery-item:hover {
transform: scale(1.03);
}
.gallery-img {
width: 100%;
height: auto;
display: block;
}
悬停动画效果
为相册图片添加悬停动画,增强交互体验。使用CSS transform和transition属性实现平滑效果。
.photo-card {
position: relative;
overflow: hidden;
}
.photo-overlay {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
background: rgba(0,0,0,0.5);
color: white;
display: flex;
flex-direction: column;
justify-content: center;
align-items: center;
opacity: 0;
transition: opacity 0.25s;
}
.photo-card:hover .photo-overlay {
opacity: 1;
}
.photo-title {
font-size: 1.5em;
font-weight: bold;
}
相册滤镜效果
应用CSS滤镜为相册图片添加视觉效果,无需图像处理软件。
.filter-sepia {
filter: sepia(70%);
}
.filter-grayscale {
filter: grayscale(100%);
}
.filter-blur {
filter: blur(2px);
}
.filter-combined {
filter: contrast(130%) brightness(120%) saturate(150%);
}
响应式相册设计
使用媒体查询确保相册在不同设备上正常显示,优化移动端体验。
@media (max-width: 768px) {
.photo-gallery {
grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));
grid-gap: 10px;
}
}
@media (max-width: 480px) {
.photo-gallery {
grid-template-columns: 1fr;
}
}
相册加载动画
添加加载动画改善用户体验,在图片加载完成前显示占位效果。
.loading-placeholder {
background: linear-gradient(90deg, #f0f0f0 25%, #e0e0e0 50%, #f0f0f0 75%);
background-size: 200% 100%;
animation: loading 1.5s infinite;
}
@keyframes loading {
0% { background-position: 200% 0; }
100% { background-position: -200% 0; }
}
相册布局变体
创建不同风格的相册布局,如砖石布局或全屏幻灯片。

/* 砖石布局 */
.masonry-gallery {
column-count: 3;
column-gap: 15px;
}
.masonry-item {
break-inside: avoid;
margin-bottom: 15px;
}
/* 全屏幻灯片 */
.slideshow-container {
position: relative;
height: 100vh;
overflow: hidden;
}
.slide {
position: absolute;
width: 100%;
height: 100%;
opacity: 0;
transition: opacity 1s ease-in-out;
}
.slide.active {
opacity: 1;
}






