如何使光标在第二行完成时闪烁-使用CSS的打字效果

问题描述

我正在尝试在网页(黑色背景)的两行上实现打字效果,一旦键入第二句话,我将无法执行光标闪烁。

我已经发布了HTML和CSS代码。纠正我哪里出了问题的任何帮助都将有所帮助。

HTML:

      <div class="typewriter">
        <h1>Hi,</h1>
        <h2>This is <span style="color: orange">ABC.</span></h2></div> 

CSS:

.typewriter h1 {
    color: #fff;
    font-family: 'DM Mono',monospace;
    overflow: hidden;
    font-size: 80px;
    border-right: .15em solid black;
    white-space: Nowrap;
    letter-spacing: .15em;
    width: 4ch;
    animation: typing 2.5s steps(4,end),blink-caret .75s step-end 4;
  }
.typewriter h2 {
    color: #fff;
    font-family: 'DM Mono',monospace;
    font-size: 40px;
    white-space: Nowrap;
    overflow: hidden;
    border-right: .15em solid orange;
    width: 20ch;
    animation: typing2 2s steps(20,blink-caret 1s step-end;
    animation-delay: 3s;
    animation-fill-mode: both;
  }
@keyframes typing {
    from { 
        width: 0 
    }
    to { 
      width: 3em;
    }
}
@keyframes typing2 {
    from { 
        width: 0 
    }
    to { 
      width: 20em;
    }
}
@keyframes blink-caret {
    from,to {
      border-color: transparent
    }
    50% {
      border-color: white;
    }
} 

解决方法

我不知道为什么会这样,但是会起作用。让我知道它是否能达到预期的效果。

    .typewriter h2 {
        color: #fff;
        font-family: 'DM Mono',monospace;
        font-size: 40px;
        white-space: nowrap;
        overflow: hidden;
        border-right: .15em solid orange;
        //this is what i changed
        width: 12ch;
        animation: typing2 2s steps(12,end),blink-caret 1s step-end infinite;
        ////
        animation-delay: 3s;
        animation-fill-mode: both;
    }
    @keyframes typing2 {
        from { 
            width: 0 
        }
        to {
            //this is what i changed
            width: 12ch;
            ////
        }
    }

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...