使用CSS实现全屏加载特效,网站加载体验优化
在现代互联网发展的时代,用户越来越注重网站性能和用户体验。在这种情况下,对于任何网站开发人员来说,优化网站加载速度和用户体验都是十分重要的任务。为了提高网站加载体验和用户体验,本文将向大家介绍一种方法,即通过CSS代码实现网站全屏加载动画特效。
具体实现如下
1.HTML放在body开头即可
[lv]
<!-- 懒加载组件 -->
<div id="loading">
<div class="loading">
<div style="--x:0"></div>
<div style="--x:1"></div>
<div style="--x:2"></div>
<div style="--x:3"></div>
<div style="--x:4"></div>
<div style="--x:5"></div>
</div>
</div>
[/lv]
2.JS最后加载完成使用js删除,放在body尾部即可
[lv]
<script>
// 停止懒加载,展示页面
window.addEventListener('load', function () {
var loading = document.getElementById('loading');
loading.parentNode.removeChild(loading);
});
</script>
[/lv]
3.CSS绘画加载特效添加到全局css文件中
[lv]
#loading {
position: fixed;
width: 100%;
height: 100vh;
z-index: 9999;
background-color: #eef1f5;
top: 0;
}
.loading {
display: flex;
flex-direction: row;
justify-content: center;
align-items: center;
height: 100vh;
}
.loading div {
position: relative;
min-width: 40px;
height: 200px;
background: linear-gradient(to bottom, rgba(0, 0, 0, 0.05), #eef1f5);
margin: 20px;
border-radius: 20px;
border: 2px solid #eef1f5;
box-shadow: 15px 15px 20px rgba(0, 0, 0, 0.1),
-15px -15px 20px #fff,
inset -5px -5px 5px rgba(255, 255, 255, 0.5),
inset 5px 5px 5px rgba(0, 0, 0, 0.05);
overflow: hidden;
}
.loading div::before {
content: "";
position: absolute;
top: 0;
left: 0;
width: 36px;
height: 36px;
border-radius: 50%;
box-shadow: inset -5px -5px 5px rgba(0, 0, 0, 0.1),
0 420px 0 400px lightskyblue;
animation: animate 2s ease-in-out infinite;
animation-delay: calc(var(--x) * -0.3s);
transform: translateY(160px);
}
@keyframes animate {
0% {
transform: translateY(160px);
filter: hue-rotate(0deg);
}
50% {
transform: translateY(0px);
filter: hue-rotate(180deg);
}
100% {
transform: translateY(160px);
filter: hue-rotate(360deg);
}
}
[/lv]
以上方法的实现可以让网站加载时展示出优美的加载特效。

