直到最近,我有一个工作完美的 CSS 代码,但由于某种原因停止工作。我不太精通 CSS 中的文本动画和关键帧,我真的很感激一些帮助。我想了解发生了什么以及为什么 - 当然还有如何解决这个问题。
这应该是一个简单的选取框效果,其中样式文本慢慢地从右到左到右滑动,并且它可以完美地工作,直到不再起作用。文本仍保持我想要的样式,但没有更多的移动。
例如,我会在 Wordpress 中插入自定义 HTML 块
<span class="sqb__ticker" data-title="  Speed" aria-hidden="true">Test</span>
并使用我前开发人员提供的 CSS 代码对其进行样式设置
/* Text ticker BEGIN */
@keyframes ticker {
from {
transform: translate(0%, -50%);
}
to {
transform: translate(-100%, -50%);
}
}
.sqb__ticker,
.sqb__ticker::before,
.sqb__ticker::after {
box-sizing: border-box;
}
html {
font-family: sans-serif;
line-height: 1.15;
-webkit-text-size-adjust: 100%;
-ms-text-size-adjust: 100%;
-ms-overflow-style: scrollbar;
-webkit-tap-highlight-color: transparent;
}
.sqb__ticker {
font-size: 90vh;
line-height: 1;
position: absolute;
top: calc(50% + 5vh);
left: 0;
transform: translateY(-50%);
width: max-content;
user-select: none;
pointer-events: none;
font-family: "system-ui";
font-weight: 800;
text-transform: uppercase;
color: transparent;
-webkit-text-stroke: 3px #3D5A80;
opacity: 0.09;
}
@media only screen and (max-height: 800px) {
.sqb__ticker {
top: 50%;
}
}
@media (prefers-reduced-motion: no-preference) {
.sqb__ticker {
animation: ticker 120s linear infinite;
}
}
.sqb__ticker::after {
content: attr(data-title);
display: inline-block;
width: max-content;
position: absolute;
top: 0;
left: 100%;
}
@media only screen and (max-width: 960px) {
.sqb__ticker {
display: none;
}
}
/* Text ticker END */
这是 Codepen 链接 https://codepen.io/SquareBow-Agency/pen/YzBedzG
代码与之前运行时完全相同。中间有一些 WP 和主题更新,但我怀疑这就是 CSS 停止工作的原因。
我非常感谢您的意见。谢谢你。
我在几个不同的服务器和浏览器以及较旧的 WP 核心网站上对此进行了测试,但它仍然无法正常工作。
这仍然有效,但文本的长度决定了需要设置的速度。
您的示例文本非常短,因此下面的代码需要更新
@media (prefers-reduced-motion: no-preference) {
.sqb__ticker {
animation: ticker 1s linear infinite;
}
}
数据标题属性中的值需要与您的文本匹配,如下所示。
<span class="sqb__ticker" data-title="  Test" aria-hidden="true">Test</span>