上次我们讲了用JS方式实现新闻不断滚动效果:实例操作之新闻不断滚动显示效果的实现 虽然代码也很精简了,但是对于JS有恐惧症的同学来说还是不太好理解,相对于JS,大家对css更容易掌握,那么今天我们就提供给大家一个用css书写的新闻不断向上滚动效果。 先写一段简单的html结构 <ul...
在前端开发过程中,有时候针对某个模块需要无限循环的滚动一些消息或菜单,我们常用的方法基本上都是通过js来实现,虽然代码相对来说可能会精简一些,但是对于JS不是很熟悉的同学来说还是不太好理解,毕竟相对于JS,大家对css更容易掌握,那么今天我们就提供给大家一个用纯css实现的列表循环向上滚动的效果。
实现思路通过CSS3的animation属性来实现,因为transition是需要手动的触发,而且不能无限次执行下去,而animation恰好能解决这个问题。
animation: scrollUp 6s infinite;
滚动速度可调整animation属性中6s的值,代表6秒。
完整html代码如下:
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>纯css实现菜单或列表循环向上滚动效果</title>
<style>
html,
body {
padding: 0;
margin: 0;
}
body {
font-family: 微软雅黑, 'Microsoft YaHei', 'PingFang SC', Hiragino Sans GB, Helvetica Neue, Helvetica, Condensed, Arial, sans-serif;
}
a {
color: #2D2D2D;
text-decoration: none;
}
.box {
width: 300px;
margin: 100px auto;
}
.list {
list-style: none;
width: 100%;
height: 30px;
overflow: hidden;
}
.list li {
width: 100%;
height: 30px;
position: relative;
line-height: 30px;
font-size: 14px;
background-color: #f6f6f6;
padding: 0 10px;
animation: scrollUp 6s infinite;
}
@keyframes scrollUp {
0% {
top: 0px;
}
25% {
top: 0px;
}
50% {
top: -30px;
}
75% {
top: -60px;
}
100% {
top: -90px;
}
}
</style>
</head>
<body>
<div class="box">
<ul class="list">
<li><a href="#">优美主题</a></li>
<li><a href="#">前端开发</a></li>
<li><a href="#">模版设计</a></li>
<li><a href="#">优美插件</a></li>
</ul>
</div>
</body>
</html>不过也有缺点,css3的很多属性在IE9以下兼容性都不是很好,如何取舍大家根据自己的需要。
演示效果
此处为隐藏内容,请评论后查看隐藏内容,谢谢!








umtheme





