css特效动画——页面加载中 ...

简介: css特效动画——页面加载中 ...

实现原理

插入3行内容,分别是3个点、2个点和1个点,然后通过transform控制垂直位置,依次展示每一行的内容。

完整范例代码

<template>
    <div style="text-align: center;padding-top: 100px">
        正在加载中
        <dot>...</dot>
    </div>
</template>
<style scoped>
    dot {
        display: inline-block;
        height: 1em;
        line-height: 1;
        text-align: left;
        vertical-align: -.25em;
        overflow: hidden;
    }
 
    dot::before {
        display: block;
        content: '...\A..\A.';
        white-space: pre-wrap;
        animation: dot 3s infinite step-start both;
    }
 
    @keyframes dot {
        33% {
            transform: translateY(-2em);
        }
        66% {
            transform: translateY(-1em);
        }
    }
</style>

更多解析

  • dot是自定义的一个标签元素,除了简约、语义化明显外,更重要的是方便向下兼容,IE8等低版本浏览器不认识自定义的HTML标签,因此,会乖乖地显示里面默认的3个点,对我们的CSS代码完全忽略。
  • 伪元素使用::before同时display设置为block,是为了在高版本浏览器下原来的3个点推到最下面,不会影响content的3行内容显示,如果使用::after怕是效果就很难实现
  • 3个点在第一行的目的在于兼容IE9浏览器,因为IE9浏览器认识dot以及::before,但是不支持CSS新世界的animation属性,所以,为了IE9也能正常显示静态的3个点,故而把3个点放在第一行。
  • '\A'是换行符中的LF字符,其Unicode编码是000A,在CSS的content属性中则直接写作'\A';换行符除了LF字符还有CR字符,其Unicode编码是000D,在CSS的content属性中则直接写作'\D'。CR字符和LF字符分别指回车(CR)和换行(LF)


目录
相关文章
|
2天前
|
前端开发
css 实现一笔画动画(如签名、手写、手绘等)
css 实现一笔画动画(如签名、手写、手绘等)
13 8
|
1天前
|
前端开发
css动画(仿微信聊天页面)
css动画(仿微信聊天页面)
|
2天前
|
前端开发 JavaScript
纯css动画 —— 展开、收起
纯css动画 —— 展开、收起
8 2
|
3天前
|
前端开发 JavaScript 开发者
学习CSS动画的高级技巧
【7月更文挑战第1天】学习CSS动画的高级技巧
8 2
|
3天前
|
前端开发 开发者
通过实践来提升CSS动画技能是非常重要的
【7月更文挑战第1天】通过实践来提升CSS动画技能是非常重要的
7 1
|
3天前
|
前端开发 JavaScript 开发者
如何学习CSS动画?
【7月更文挑战第1天】如何学习CSS动画?
7 1
|
2天前
|
前端开发
css特效动画——转圈的加载动画
css特效动画——转圈的加载动画
5 0
|
2天前
|
前端开发 JavaScript UED
只会用插件可不行,这些前端动画技术同样值得收藏-CSS篇
只会用插件可不行,这些前端动画技术同样值得收藏-CSS篇
|
2天前
|
前端开发 API 开发者
前端 CSS 经典:边框转圈动画效果
前端 CSS 经典:边框转圈动画效果
8 0
|
2天前
|
前端开发
前端 CSS 经典:好看的标题动画
前端 CSS 经典:好看的标题动画
9 0