c语言编程笔录

首页 >   > 笔记大全

笔记大全

css怎样设置图片透明度使图片逐渐消失

更新时间:2023-12-19
图片

CSS设置图片透明度渐变效果

使用CSS实现图片渐变逐渐消失的效果,需要声明动画样式和动画关键帧。下面是示例代码:

.fade-out {
    animation: fadeOut 2s forwards;
}

@keyframes fadeOut {
    0% {
        opacity: 1;
    }
    100% {
        opacity: 0;
    }
}

首先,给图片添加动画效果需要给图片的class添加一个fade-out类名,在这个类名下声明动画属性animation和动画关键帧样式@keyframe。动画属性animation包含两个参数:一个是动画名称fadeOut,另一个是动画持续时间2s,最后一个参数是动画完成之后的状态,forwards表示动画完成后保持最后一个状态。

动画关键帧样式声明了动画从开始到结束的过程,包含0%和100%两个关键帧,其中0%表示动画开始时候的状态,opacity为1,表示图片完全显示。100%表示动画结束后的状态,opacity为0,表示图片完全消失。这样,当图片被添加了.fade-out类名之后,动画效果就会生效。

HTML结构和CSS布局

为了让图片能够完全绝对定位,需要给图片父元素.container添加position:relative属性,然后给图片添加position:absolute属性。下面是示例代码:

<div class="container">
    <img class="img" src="https://cdn.pixabay.com/photo/2015/03/26/09/47/sky-690293_1280.jpg" alt="图片">
</div>

.container {
    position: relative;
    width: 600px;
    height: 400px;
    margin: 0 auto;
}

.img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

上述代码中,.container类名的宽度为600px,高度为400px,并通过margin: 0 auto; 实现水平居中。img类名的position属性为absolute,top和left属性为0,width和height属性设置为100%,表示将图片和容器布满,并能够绝对定位。

JavaScript事件绑定

通过给图片添加点击事件,来触发图片的渐变逐渐消失的效果。下面是示例代码:

window.onload=function () {
    var img=document.querySelector('.img');
    img.addEventListener('click', function () {
        this.classList.add('fade-out');
    });
}        

上述代码中,通过window.onload来窗口加载完毕之后绑定事件。使用querySelector('.img')方法获取图片元素,给它绑定一个click事件,在事件处理程序中使用this代表图片元素,将它添加.fade-out类名。这样一来,就能够触发图片的渐变逐渐消失的效果。

总结

通过CSS设置图片透明度渐变效果,需要声明动画样式和动画关键帧样式。动画样式包含两个参数:一个是动画名称,一个是动画持续时间,最后一个参数是动画完成后的状态。动画关键帧样式声明了动画从开始到结束的过程,包含0%和100%两个关键帧,其中0%表示动画开始时候的状态,100%表示动画结束后的状态。为了能够绝对定位图片,需要给图片父元素添加position:relative属性,给图片添加position:absolute属性。通过JavaScript绑定图片点击事件,来触发图片的渐变逐渐消失的效果。