- button
- half-transparent-border
- multiple-borders
- callout
- extended-bg-position
- inner-rounding
- stripes
- gridding
- polka
- checkerboard
- marching-ants
- footnote
- ellipse
- half-ellipse
- parallelograms-pseudo
- diamond-images
- bevel-corners-gradients
- scoop-corners
- trapezoid-tabs
- pie-static
- shadow
- color-tint-filter
- frosted-glass
- folded-corner
- hypenation
- line-breaks
- zebra-lines
- tab-size
- ampersands
- underlines
- text-effects
- circular-text
- cursor
- hit-area
- checkboxes
- weaken-background-by-shadow
- weaken-background-by-blur
- scrolling-hints
- image-slider
- intrinsic-sizing
- table-column-widths
- styling-sibling-count
- fluid-fixed
- vertical-centering
- sticky-footer
- bounce
- elastic
- frame-by-frame
- text-blink
- text-typing
- state-animations
- circular
文章来源于网络收集而来,版权归原创者所有,如有侵权请及时联系!
text-typing
<style>
body {
font-family: monospace, sans-serif;
}
@keyframes typing {
from {
width: 0
}
}
@keyframes caret {
50% {
border-color: currentColor; /*avoid can't blink in old browser*/
}
}
h1 {
width: 15ch; /* text-width, ch for monospace */
overflow: hidden;
white-space: nowrap;
border-right: .05em solid;
border-right: .05em solid transparent; /* rollback style*/
animation: typing 6s steps(15),
caret 1s steps(1) infinite;
}
</style>
<body>
<h1>CSS is awesome!</h1>
<script>
function $$(selector, context) {
context = context || document;
var elements = context.querySelectorAll(selector);
return Array.prototype.slice.call(elements);
}
$$('h1').forEach(function (h1) {
var len = h1.textContent.length,
s = h1.style;
s.width = len + 'ch';
s.animationTimingFunction = "steps(" + len + "),steps(1)";
});
</script>
</body>
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论