css实现打点动画
更新于 阅读 6 次
写loading时有时需要在后面连续的出现一个点、两个点、三个点,实现方式有很多种,js、css皆有,今天分享看到的一种css实现方式。效果如下
代码如下:
.btn { padding: 4px 12px; border: 1px solid #ff4d4f; background-color: #ff4d4f; border-radius: 2px; color: #ffffff; font-size: 14px; } .dot { display: inline-block; height: 1em; line-height: 1; overflow: hidden; vertical-align: -.25ex; } .dot::after { display: block; content: '...\A..\A.'; white-space: pre-wrap; animation: dotframes 3s infinite step-start both; } @keyframes dotframes { 33% { transform: translateY(-2em); } 66% { transform: translateY(-1em); } }
说明:
-
ex: 一个 ex 是一个字体的 x-height。 (x-height 通常是字体尺寸的一半。)
-
\A: 换行符
-
white-space: pre-wrap,空白符会被保留,直到遇到换行符
html:
<button class="btn">
加载中
<span class="dot"></span>
</button>
PS: 用mac自带的录屏软件录制后转为gif后动画变慢了^_^