【发布时间】:2019-06-20 23:14:50
【问题描述】:
我需要创建两个选取框(一个带有重复图像,一个带有重复链接),以任意大小跨越浏览器窗口;选取框项目需要从一开始就显示出来,而不需要几秒钟的时间才能出现在屏幕上,并且它们中的每一个都需要相隔大约 20px/30px。当用户将鼠标悬停在它上面时,选取框需要停止在页面上移动。
我正在为客户创建一个网站,我们决定在一个页面上设置一个选框来显示徽标,在另一个页面上设置一个选框来显示客户社交媒体的链接。我不确定如何根据文本或图像的大小来计算动画的必要持续时间以使其看起来无限。我研究并尝试了 CSS 选项,我四处询问后发现通常推荐使用 Javascript。我刚刚开始研究 Javascript,所以我对从哪里开始这个项目一无所知。这实际上与我需要的非常相似:https://stackoverflow.com/a/45103608/11623961。这是我想要实现的一个示例:http://maxsiedentopf.com/work-2(只有底部的那个,但左侧没有重叠;只是从左向右移动)。这是我试图用来达到预期效果的方法:https://codepen.io/jamesbarnett/pen/kfmKa。
body {
margin: 0;
font-family: "UniversLTPro-Ex";
font-size: 30px;
}
a {
text-decoration: none;
color: #000;
}
.marquee {
height: 35px;
width: 100%;
overflow: hidden;
position: relative;
background-color: #e9e5fb;
border-top: 1px solid black;
border-bottom: 1px solid black;
padding: 8px 0 4px 0;
}
.marquee div {
display: inline-block;
width: 300%;
height: 40px;
position: absolute;
overflow: hidden;
animation: marquee 12s linear infinite;
}
.marquee span {
float: left;
width: 25%;
}
@keyframes marquee {
0% { left: 0; }
100% { left: -150%; }
}
<div class="marquee">
<div>
<span><a href="#">twitter</a></span>
<span><a href="#">instagram</a></span>
<span><a href="#">pinterest</a></span>
<span><a href="#">spotify</a></span>
<span><a href="#">magazine</a></span>
</div>
</div>
显然,我尝试做的事情有很多问题。选框没有出现无限,我还没有弄清楚如何在悬停时暂停,项目相距太远。任何帮助将不胜感激。谢谢!
【问题讨论】:
标签: javascript css marquee