在CSS中用transform方法怎么做跑马灯效果,代码是什么
Admin 2022-07-12 群英技术资讯 535 次浏览
这是之前客户的一个需求,给的 demo 是用 gif 实现跑马灯,但是我们的没法用 gif,因为图上的文字需要翻译成各国语言,所以不能使用图片来实现,那么,自己写一个咯。
思考过程
html
<div lantern> <ul> <li>1</li> <li>2</li> <li>3</li> <li>4</li> </ul> </div>
css
* { margin: 0; padding: 0; } [lantern] { overflow: hidden; } ul { white-space: nowrap; font-size: 0; transform: translateX(0); transition: transform 0s linear; } li { width: 50vw; border: 1px solid red; display: inline-block; height: 30px; font-size: 16px; }
js
function lantern($element,speed = 10) { let liWidth = 0; let $ul = $element.find("ul"); function run(init = false) { let $li = $ul.find("li").first(); liWidth = $li.outerWidth(); if(!init){ $ul.append($li[0].outerHTML); $li.remove(); } $ul[0].style.transitionDuration = "0s"; $ul[0].style.transform = "translateX(0)"; setTimeout(function() { $ul[0].style.transitionDuration = speed + "s"; $ul[0].style.transform = "translateX(-" + liWidth + "px)"; }, 20); } run(true); setTimeout(() => { setInterval(run, speed * 1000); }, 0); } lantern($('[lantern]'), 20);
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
猜你喜欢
这篇文章主要介绍了使用HTML和CSS实现的标签云效果(附demo),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
这篇文章主要介绍了AmazeUI 折叠面板的实例代码,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
本篇文章今天主要给大家介绍下XHTML入门之表单标签是怎么操作的,具有一定的参考价值,感兴趣的小伙伴可以参考参考看看。
这篇文章主要介绍了VSCode 自定义html5模板的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
padding不能为负值,margin可以。背景色会平铺到非margin区域。marked在Flexbox或网格布局中,不存在margin-top、bottom叠加及margin-top传递现象。
成为群英会员,开启智能安全云计算之旅
立即注册Copyright © QY Network Company Ltd. All Rights Reserved. 2003-2020 群英 版权所有
增值电信经营许可证 : B1.B2-20140078 粤ICP备09006778号 域名注册商资质 粤 D3.1-20240008