前言
在我开发vue项目的时候,在加载一些静态资源的时候总是有白屏出现,后来就发现在加载的时候做一个预加载的动画,记录一下。代码入下
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95
| .first-loading-wrap { display: flex; width: 100%; height: 100vh; justify-content: center; align-items: center; flex-direction: column; } .first-loading-wrap > h1 { font-size: 128px } .first-loading-wrap .loading-wrap { padding: 98px; display: flex; justify-content: center; align-items: center } .dot { animation: antRotate 1.2s infinite linear; transform: rotate(45deg); position: relative; display: inline-block; font-size: 32px; width: 32px; height: 32px; box-sizing: border-box } .dot i { width: 14px; height: 14px; position: absolute; display: block; background-color: #1890ff; border-radius: 100%; transform: scale(.75); transform-origin: 50% 50%; opacity: .3; animation: antSpinMove 1s infinite linear alternate } .dot i:nth-child(1) { top: 0; left: 0 } .dot i:nth-child(2) { top: 0; right: 0; -webkit-animation-delay: .4s; animation-delay: .4s } .dot i:nth-child(3) { right: 0; bottom: 0; -webkit-animation-delay: .8s; animation-delay: .8s } .dot i:nth-child(4) { bottom: 0; left: 0; -webkit-animation-delay: 1.2s; animation-delay: 1.2s } @keyframes antRotate { to { -webkit-transform: rotate(405deg); transform: rotate(405deg) } } @-webkit-keyframes antRotate { to { -webkit-transform: rotate(405deg); transform: rotate(405deg) } } @keyframes antSpinMove { to { opacity: 1 } } @-webkit-keyframes antSpinMove { to { opacity: 1 } }
|
1 2 3 4 5 6
| <div class="first-loading-wrap"> <div class="loading-wrap"> <span class="dot dot-spin"><i></i><i></i><i></i><i></i></span> </div> </div>
|
这些代码需要在<div id='app'></div>
中加入,这样在vue资源生效之前就可以呈现一个加载动画,加载好了后这样就会被vue
生成在dom
覆盖