今天我们来介绍一款基于纯CSS实现的偏光图像画廊。这个画廊通过模拟光线的折射,让图片看起来仿佛处于水面之下,具有很好的视觉效果。以下是实现代码:
/* 图片卡片样式 */ .card { position: relative; width: 200px; height: 200px; margin: 10px; border: 1px solid #ccc; overflow: hidden; } /* 图片卡片内部遮罩层 */ .card::before { content: ""; position: absolute; top: 0; left: 0; width: 100%; height: 100%; background: linear-gradient(to bottom, rgba(0,0,0,0.8) 45%, rgba(0,0,0,0) 100%); } /* 图片卡片hover时的光线效果 */ .card:hover::after { content: ""; position: absolute; top: -50%; left: -50%; width: 200%; height: 200%; background: radial-gradient(ellipse at center, rgba(255,255,255,0.6) 0%, rgba(255,255,255,0) 80%); transform: rotate(30deg); opacity: 0; transition: all 0.8s; } /* 图片卡片hover时的阴影效果 */ .card:hover { box-shadow: 0 0 20px rgba(0,0,0,0.6); } /* 图片卡片hover时的立体效果 */ .card:hover img { transform: translateY(-20px); } /* 图片实际显示样式 */ .card img { position: absolute; top: 0; left: 0; width: 100%; height: 100%; transition: all 0.8s; }以上代码通过使用伪元素和渐变效果,以及图片的位移、阴影等特效,实现了比较完整的偏光图像画廊效果。我们只需要在HTML中放置好卡片和图片即可,代码的兼容性也相对较好。 当然,如果要实现更加细致的效果,还需要考虑浏览器兼容、样式重叠等问题。不过总体来说,通过这种方式实现画廊效果还是比较简单的,可以为网页增加不少亮点。