css实现打点动画

写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后动画变慢了_

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章