html - 用 css 关键帧动画替换选框

标签 html css

我想制作一个“类似播放器”的栏,像选取框一样显示正在播放的文本。目前我有这个:

<div class="bar">
    <div id="pp" onClick="pl()"><img src="play-256.png"></div>
    <div id="np" class="marquee"><p>Playlist Empty</p></div>
</div>

gif with text scrolling

CSS 看起来像这样:

.bar {
    height: 50px;
    width: 800px;
    border-radius: 25px;
    background-color: brown;
    margin-top: 20%;
}
.marquee {
    width: 90%;
    float: left;
    overflow: hidden;
}
.marquee p {
    height: 100%;
    width: 100%;
    margin: 0;
    line-height: 50px;
    animation: mrq 15s linear infinite;
}
@keyframes mrq {
    0%  {transform:translateX(100%);}
    100%{transform:translateX(-100%);}
}

@media only screen and (max-width: 700px) {
.bar {
    width: 90%;
}
.marquee {
    width: 75%;
}
.marquee p {
    animation: mrq 5s linear infinite;
}
}

问题出现在responsive上:

gif with text scrolling

如您所见,无论出于何种原因,响应式文本都会被隐藏。我做错了什么?

(onClick="pl()"更改“np”div 中的文本并播放/暂停歌曲)

附言我知道我写错了卫星,懒得重做动图了。

最佳答案

您可能需要防止换行,因为如果整个文本的宽度太小,它会切断文本。由于您使用的是 paragraph,只需将 display:inline 添加到样式中即可解决问题:

.marquee p {
    animation: mrq 5s linear infinite;
    display: inline;
}

关于html - 用 css 关键帧动画替换选框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41173664/

相关文章:

javascript - 为什么在 chrome "works on firefox"上运行代码时没有出现加载标志?

CSS边距顶部不起作用

html - 如何使用 Angular 6 中的类名更改背景颜色?

css - 页面顶部和底部不需要的小空间

html - 单击提交按钮时输入 css 扩展问题

javascript - 标题属性不适用于 Safari 上的 SVG Rect

html - 彼此相邻的 div,1 : 200px, 2:100%

html - webkit 浏览器中的 100% 宽度 <td> 总是至少 1 像素宽

html - 制作一个没有宽度可选的垂直div

javascript - 将旋转木马右滑应用于按钮