这是一个类型效果,但它使用动画功能中的步骤:
http://codepen.io/jonathan/pen/lwFzv
@-webkit-keyframes typing {
from { width: 0 }
to { width:14em }
}
@keyframes typing {
from { width: 0 }
to { width:14em }
}
@-webkit-keyframes caret {
from, to { border-color: transparent }
50% { border-color: black }
}
@keyframes caret {
from, to { border-color: transparent }
50% { border-color: black }
}
body { font-family: Consolas; }
h1 {
font-size:150%;
width:14em;
white-space:nowrap;
overflow:hidden;
border-right: .1em solid #333;
-webkit-animation: typing 13s steps(26, end),
caret 0.5s step-end infinite;
animation: typing 13s steps(26, end),
caret 0.5s step-end infinite;
}
您会注意到步骤设置为 26,这是我的 H1 中的字符数
<h1>Typing Effect by Jonathan.</h1>
您可能可以使用 :after 但它可能需要 JS 计算每个单词的单词长度
最好总是添加没有供应商前缀的属性,这样它就可以在支持动画属性的浏览器中使用。就像在这种情况下,firefox 不需要供应商前缀
http://caniuse.com/#feat=css-animation