css 语言 CSS 制作可滑动的图片画廊示例

CSS阿木 发布于 2025-06-18 4 次阅读


CSS 制作可滑动的图片画廊示例

随着互联网技术的发展,图片画廊已经成为网站和应用程序中常见的元素。一个设计精美、功能完善的图片画廊可以提升用户体验,增加网页的吸引力。本文将围绕CSS技术,展示如何制作一个可滑动的图片画廊示例。

一、图片画廊的基本结构

在开始编写代码之前,我们需要明确图片画廊的基本结构。一个典型的图片画廊通常包含以下部分:

1. 画廊容器(gallery-container):用于包裹所有图片的容器。

2. 图片列表(image-list):包含所有图片的列表。

3. 滑动按钮(slide-button):用于控制图片滑动方向的按钮。

二、HTML结构

我们需要创建一个基本的HTML结构。以下是一个简单的图片画廊HTML结构示例:

html

<div class="gallery-container">


<div class="image-list">


<img src="image1.jpg" alt="Image 1">


<img src="image2.jpg" alt="Image 2">


<img src="image3.jpg" alt="Image 3">


<!-- 更多图片 -->


</div>


<button class="slide-button left">上一张</button>


<button class="slide-button right">下一张</button>


</div>


三、CSS样式

接下来,我们将使用CSS来美化图片画廊,并实现滑动效果。

1. 画廊容器样式

css

.gallery-container {


position: relative;


width: 600px; / 画廊宽度 /


margin: 0 auto; / 居中显示 /


overflow: hidden; / 隐藏超出部分 /


}

.image-list {


display: flex;


width: calc(100% 3); / 假设有3张图片 /


transition: transform 0.5s ease; / 平滑过渡效果 /


}


2. 图片样式

css

.image-list img {


width: 100%; / 图片宽度 /


display: block; / 防止图片下方出现空白 /


}


3. 滑动按钮样式

css

.slide-button {


position: absolute;


top: 50%;


transform: translateY(-50%);


background-color: fff;


border: none;


padding: 10px;


cursor: pointer;


}

.slide-button.left {


left: 0;


}

.slide-button.right {


right: 0;


}


四、JavaScript实现滑动效果

为了实现图片的滑动效果,我们需要使用JavaScript来监听滑动按钮的点击事件,并更新图片列表的`transform`属性。

javascript

document.querySelector('.slide-button.left').addEventListener('click', function() {


const imageList = document.querySelector('.image-list');


imageList.style.transform = 'translateX(-' + imageList.offsetWidth + 'px)';


});

document.querySelector('.slide-button.right').addEventListener('click', function() {


const imageList = document.querySelector('.image-list');


imageList.style.transform = 'translateX(0)';


});


五、完整示例

以下是完整的图片画廊示例代码:

html

<!DOCTYPE html>


<html lang="zh-CN">


<head>


<meta charset="UTF-8">


<title>可滑动图片画廊</title>


<style>


.gallery-container {


position: relative;


width: 600px;


margin: 0 auto;


overflow: hidden;


}

.image-list {


display: flex;


width: calc(100% 3);


transition: transform 0.5s ease;


}

.image-list img {


width: 100%;


display: block;


}

.slide-button {


position: absolute;


top: 50%;


transform: translateY(-50%);


background-color: fff;


border: none;


padding: 10px;


cursor: pointer;


}

.slide-button.left {


left: 0;


}

.slide-button.right {


right: 0;


}


</style>


</head>


<body>


<div class="gallery-container">


<div class="image-list">


<img src="image1.jpg" alt="Image 1">


<img src="image2.jpg" alt="Image 2">


<img src="image3.jpg" alt="Image 3">


<!-- 更多图片 -->


</div>


<button class="slide-button left">上一张</button>


<button class="slide-button right">下一张</button>


</div>


<script>


document.querySelector('.slide-button.left').addEventListener('click', function() {


const imageList = document.querySelector('.image-list');


imageList.style.transform = 'translateX(-' + imageList.offsetWidth + 'px)';


});

document.querySelector('.slide-button.right').addEventListener('click', function() {


const imageList = document.querySelector('.image-list');


imageList.style.transform = 'translateX(0)';


});


</script>


</body>


</html>


六、总结

本文通过CSS和JavaScript技术,实现了一个可滑动的图片画廊示例。在实际应用中,可以根据需求对图片画廊进行扩展和优化,例如添加无限滚动、懒加载等功能。希望本文能对您有所帮助。