我想用CSS在两个不同的单词之间不断闪现.当第一个可见时,第二个不应可见,反之亦然.它们不应同时可见(因此不会淡入/淡出).

我试着调整herehere的答案.但是,这并不完全正确,因为这些词在很多时候是重叠的.

@keyframes blinker {
  50% {
    opacity: 0;
  }
}

.mask{
position:absolute;
-webkit-animation: blinker 140ms infinite;
}

.target{
position:absolute;
-webkit-animation: blinker 240ms infinite;
}
<p class="mask">MASK</p><p class="target">TARGET</p>

使用动画延迟不起作用,因为它将延迟应用于第一次演示,而不是后续迭代.我在这里读了this page,但我发现很难适应两个单词.

此外,我不希望第一次演讲有任何延误.第一个单词has从一开始就可见.

推荐答案

下面是一个使用CSS网格和order动画的 idea .你所要做的就是调整关键帧的百分比和持续时间

.blinky {
  display: grid;
  grid-template-rows: 1fr 0; /* 2 rows with the second having 0 height  */
  overflow: hidden; /* hide the overflow of the second row*/
  font-size: 3rem;
}
/* apply the animation to only the last element */
.blinky > span:last-child {
  animation: blink 2s linear infinite;
}
@keyframes blink {
  0%,
  69%  {order:0}
  70%,
  100% {order:-1}
}
<div class="blinky">
  <span>MASK</span>
  <span>TARGET</span>
</div>

Css相关问答推荐

如何在CSS calc()中使用反向百分比/无单位计算?

如何改变图标的 colored颜色 时悬停在

防止表格水平拉伸整个Blazor页面

截断风景中的柔子或强制在其自己的线上,如果是肖像

导航栏没有使用nextui获取页面的全部宽度

Prettier/VS Code 在 CSS 中的 !important 之前添加一个空格,导致它在 WordPress 中崩溃

是否可以在元素之间对齐渐变?

解释 "document.styleSheets[0].cssRules[0].style;"

在网格中整齐地对齐项目

CSS 网格 - 具有独立可滚动区域的两列布局

TypeScript 中有效的 CSS 属性名称数组,但带有连字符

如何在变量中插入 SCSS 变量?

仅针对直接子代而不是其他相同后代的 CSS Select 器

属性nowrap被认为是过时的.建议使用较新的构造.它是什么?

Bootstrap 4:导航内的多级下拉菜单

数据协议 URL 大小限制

如何仅在一侧设置 CSS 边框?

如何让 flexbox 在计算中包含填充?

仅使用 CSS 交换 DIV 位置

如何使用纯 CSS 创建工具提示尾部?