css 语言 CSS 制作图片滑动切换带模糊平移效果示例

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


CSS 制作图片滑动切换带模糊平移效果示例

随着互联网技术的发展,网页设计越来越注重用户体验。图片滑动切换作为一种常见的交互方式,不仅能够丰富网页内容,还能提升用户的浏览体验。本文将围绕CSS技术,展示如何制作一个具有模糊平移效果的图片滑动切换效果。

一、技术概述

在实现图片滑动切换带模糊平移效果的过程中,我们将使用以下CSS技术:

1. CSS3动画:通过CSS3的`@keyframes`和`animation`属性,实现图片的平移和模糊效果。

2. CSS3过渡:使用`transition`属性实现平滑的过渡效果。

3. CSS3伪元素:利用`:before`和`:after`伪元素创建模糊效果。

4. CSS3背景定位:通过`background-position`属性实现图片的滑动效果。

二、HTML结构

我们需要构建一个基本的HTML结构,用于承载图片滑动切换效果。

html

<div class="slider">


<div class="slide">


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


</div>


<div class="slide">


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


</div>


<div class="slide">


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


</div>


</div>


三、CSS样式

接下来,我们将通过CSS样式来实现图片滑动切换带模糊平移效果。

css

.slider {


position: relative;


width: 300px;


height: 200px;


overflow: hidden;


}

.slide {


position: absolute;


width: 100%;


height: 100%;


transition: transform 0.5s ease;


}

.slide img {


width: 100%;


height: 100%;


object-fit: cover;


}

/ 模糊效果 /


.slide::before,


.slide::after {


content: '';


position: absolute;


top: 0;


left: 0;


width: 100%;


height: 100%;


background: rgba(255, 255, 255, 0.5);


z-index: -1;


transition: transform 0.5s ease;


}

/ 第一张图片的模糊效果 /


.slide:nth-child(1)::before,


.slide:nth-child(1)::after {


transform: scale(1.5);


}

/ 第二张图片的模糊效果 /


.slide:nth-child(2)::before,


.slide:nth-child(2)::after {


transform: scale(1.2);


}

/ 第三张图片的模糊效果 /


.slide:nth-child(3)::before,


.slide:nth-child(3)::after {


transform: scale(1.0);


}

/ 初始化第一张图片的模糊效果 /


.slider .slide:nth-child(1) {


transform: translateX(0);


}

/ 初始化第二张图片的模糊效果 /


.slider .slide:nth-child(2) {


transform: translateX(-100%);


}

/ 初始化第三张图片的模糊效果 /


.slider .slide:nth-child(3) {


transform: translateX(-200%);


}


四、JavaScript交互

为了实现图片的自动切换和手动切换功能,我们需要使用JavaScript。

javascript

let currentSlide = 0;


const slides = document.querySelectorAll('.slide');


const totalSlides = slides.length;

function nextSlide() {


currentSlide = (currentSlide + 1) % totalSlides;


updateSlides();


}

function updateSlides() {


slides.forEach((slide, index) => {


slide.style.transform = `translateX(${-currentSlide 100}%)`;


});


}

// 自动切换


setInterval(nextSlide, 3000);

// 手动切换


document.querySelector('.slider').addEventListener('click', () => {


nextSlide();


});


五、总结

本文通过CSS和JavaScript技术,实现了一个图片滑动切换带模糊平移效果的示例。在实际应用中,可以根据需求调整图片数量、切换速度、模糊程度等参数,以达到最佳的用户体验。希望本文能对您有所帮助。