css上一张下一张图片

admin 轻心小站 关注 LV.19 运营
发表于前端技术学习版块 css,教程

CSS的实现上一张下一张图片的效果是一个常见的需求。下面将介绍如何使用CSS编写实现此效果的代码。/* HTML结构 */ <div class= img-list > &

CSS的实现上一张下一张图片的效果是一个常见的需求。下面将介绍如何使用CSS编写实现此效果的代码。

/* HTML结构 */
<div class="img-list">
  <img src="img1.jpg" alt="第一张图片">
  <img src="img2.jpg" alt="第二张图片">
  <img src="img3.jpg" alt="第三张图片">
</div>

/* CSS样式 */
.img-list {
  display: flex;
  flex-wrap: wrap;
  overflow: hidden;
  position: relative;
  max-width: 600px;
}

.img-list img {
  width: 100%;
  cursor: pointer;
  transition: all 0.3s ease;
}

.img-list img:hover {
  transform: scale(1.1);
}

.img-list::before,
.img-list::after {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  width: 50px;
  background: linear-gradient(to right, rgba(255, 255, 255, 0.0001) 0%, rgba(0, 0, 0, 0.5) 100%);
}

.img-list::before {
  left: 0;
}

.img-list::after {
  right: 0;
  transform: scaleX(-1);
}

/* JS代码 */
var imgList = $('.img-list');
var imgWidth = imgList.width() / imgList.children('img').length;
var moveWidth = imgWidth * 4;

$('.img-list img').click(function () {
  if ($(this).index() === 0) {
    imgList.animate({
      scrollLeft: 0
    }, 400);
  } else if ($(this).index() === imgList.children('img').length - 1) {
    imgList.animate({
      scrollLeft: moveWidth * 2
    }, 400);
  } else {
    imgList.animate({
      scrollLeft: moveWidth
    }, 400);
  }
}); 

以上代码中,我们使用了flex布局和滚动条来控制图片的显示。鼠标移至图片上时,图片会有一个放大的动画。同时,在图片列表的左右两端添加了半透明的渐变图层,以增加视觉效果。在JS代码中,我们通过读取图片列表的宽度和子元素的数量,计算出每次点击应该滚动的距离,从而实现上一张下一张的效果。

通过上述CSS和JS的实现,我们可以轻易地实现上一张下一张图片的效果,方便用户浏览图片。在实际应用中,我们还可以根据需要对CSS样式和JS代码进行调整,以达到最佳效果。

文章说明:

本文原创发布于探乎站长论坛,未经许可,禁止转载。

题图来自Unsplash,基于CC0协议

该文观点仅代表作者本人,探乎站长论坛平台仅提供信息存储空间服务。

评论列表 评论
发布评论

评论: css上一张下一张图片

粉丝

0

关注

0

收藏

0

已有0次打赏