css3实现无缝滚动,鼠标经过暂停
warning:
这篇文章距离上次修改已过251天,其中的内容可能已经有所变动。
CSS3可以通过animation
和keyframes
实现无缝滚动效果,并通过:hover
伪类实现鼠标悬停时滚动停止。以下是一个简单的例子:
HTML结构:
<div class="slider">
<div class="slide">1</div>
<div class="slide">2</div>
<div class="slide">3</div>
<!-- 更多slide -->
</div>
CSS样式:
.slider {
display: flex;
overflow: hidden;
width: 300px; /* 根据实际内容调整 */
height: 200px; /* 根据实际内容调整 */
animation: slide 10s linear infinite; /* 动画名称,持续时间,速率函数,循环方式 */
}
.slide {
flex: 1; /* 每个slide平分容器宽度 */
line-height: 200px; /* 垂直居中内容 */
text-align: center; /* 水平居中内容 */
font-size: 3em; /* 根据实际内容调整 */
}
/* 更多slide样式,确保第一个和最后一个是重复的以实现无缝连接 */
@keyframes slide {
0% {
transform: translateX(0);
}
100% {
transform: translateX(-300px); /* 每次滚动的距离,等于一个slide的宽度 */
}
}
/* 鼠标悬停时暂停滚动 */
.slider:hover {
animation-play-state: paused;
}
这段代码会创建一个无缝滚动的内容滚动容器,其中.slider
是滚动容器,.slide
是滚动的项。animation
属性定义了无缝滚动的动画,keyframes
定义了滚动的具体动作。当鼠标悬停在滚动容器上时,动画会被暂停。
评论已关闭