网站首页 > 技术文章 正文
I. 介绍骨架屏
定义
骨架屏是一个简单的占位图,用于在内容加载过程中给用户展示一个占位界面,让用户知道正在加载中。
产生背景
随着Web应用日益复杂,加载时间相应增长,用户往往需要很长时间才能看到完整的界面;而骨架屏就是为了缩短加载时间,提升用户体验而产生的。
II. 骨架屏的设计原则
模拟真实界面
骨架屏要体现完整的页面结构,并模拟真实的UI元素,使用户能够快速熟悉页面内容。
简单设计
骨架屏要避免过于花哨的设计,保持简洁,以提高用户的可读性和认知可靠性。
可重复使用
骨架屏应该可以在多个页面内使用,以避免在每个页面上使用不同的骨架屏,这样可以提高设计和开发效率。
III. 骨架屏的实现
使用CSS和JavaScript
使用CSS和JavaScript实现骨架屏是最常见的一种方法,通过隐藏或展示元素,以达到占位或显示的效果。
<!DOCTYPE html>
<html>
<head>
<title>骨架屏实现demo</title>
<style>
.container {
padding: 10px;
}
.skeleton {
height: 50px;
margin-bottom: 10px;
background-color: #ddd;
border-radius: 5px;
animation: loading 1s ease-in-out infinite;
}
@keyframes loading {
from {
background-position: 0 0;
}
to {
background-position: 100% 0;
}
}
</style>
</head>
<body>
<div class="container">
<div class="skeleton"></div>
<div class="skeleton"></div>
<div class="skeleton"></div>
<div class="skeleton"></div>
<div class="skeleton"></div>
</div>
<script>
window.addEventListener('load', function() {
var skeletonBlocks = document.querySelectorAll('.skeleton');
skeletonBlocks.forEach(function(block) {
block.style.width = block.offsetWidth + 'px';
});
});
</script>
</body>
</html>
预渲染技术
通过预渲染技术,将骨架屏作为静态页面一并传送给浏览器,以缩短页面加载时间。
<!DOCTYPE html>
<html>
<head>
<title>骨架屏预渲染实现</title>
<style>
#container {
padding: 10px;
}
.skeleton {
height: 50px;
margin-bottom: 10px;
background-color: #ddd;
border-radius: 5px;
animation: loading 1s ease-in-out infinite;
}
@keyframes loading {
from {
background-position: 0 0;
}
to {
background-position: 100% 0;
}
}
</style>
</head>
<body>
<div id="container">
<div class="skeleton"></div>
<div class="skeleton"></div>
<div class="skeleton"></div>
<div class="skeleton"></div>
<div class="skeleton"></div>
</div>
<div id="content" style="display: none;">
<!-- 正常内容 -->
<p>这里是正常的内容</p>
</div>
<script type="text/javascript">
window.onload = function(){
setTimeout(()=>{
document.getElementById('container').style.display = 'none';
document.getElementById('content').style.display = 'block';
},1500)
}
</script>
</body>
</html>
模板
通过使用模板,可以更容易地生成骨架屏,以加快页面加载时间。
小程序
vant weapp Skeleton 骨架屏
IV. 骨架屏的优势
缩短加载时间
骨架屏可以吸引用户的眼球,与此同时,让用户感受到页面正在加载中,从而减少用户的焦虑感,提升用户对应用体验的满意度。
提高用户留存率
大多数用户并不在意应用程序加载的快慢,但往往会因为等待时间长而放弃访问或离开应用程序。因此,骨架屏可以大大降低用户的流失率。
提高品牌认知度
通过设计良好的骨架屏,可以提高用户对于品牌的认知度,进而增加品牌的知名度和信誉度。
V. 结论
骨架屏的应用逐渐成为设计和开发中的一项重要技术,它可以缩短页面加载时间,提升用户体验,同时还可以增加品牌认知度。
猜你喜欢
- 2024-10-30 基于Web的“戳泡泡”解压小游戏(戳泡泡用英文怎么说)
- 2024-10-30 暗夜发光,独自闪耀,网页暗黑模式下的特效和动效,CSS3实现
- 2024-10-30 HTML多行代码搞定微信8.0的炸裂特效!C/C++怎么能输
- 2024-10-30 Nick_N像素画教程:像素画动画缓入缓出
- 2024-10-30 CSS动画制作(css动画制作电池充电效果)
- 2024-10-30 前端系列:在线认识贝塞尔曲线的运动轨迹(中文版网站)
- 2024-10-30 CSS3 transition过渡效果(css3过度效果)
- 2024-10-30 15个CSS 常见错误,请一定要注意避免
- 2024-10-30 css动画之transition(css transition动画)
- 2024-10-30 daisyUI - 主题漂亮、代码纯净!免费开源的 Tailwind CSS 组件库
- 最近发表
- 标签列表
-
- cmd/c (57)
- c++中::是什么意思 (57)
- sqlset (59)
- ps可以打开pdf格式吗 (58)
- phprequire_once (61)
- localstorage.removeitem (74)
- routermode (59)
- vector线程安全吗 (70)
- & (66)
- java (73)
- org.redisson (64)
- log.warn (60)
- cannotinstantiatethetype (62)
- js数组插入 (83)
- resttemplateokhttp (59)
- gormwherein (64)
- linux删除一个文件夹 (65)
- mac安装java (72)
- reader.onload (61)
- outofmemoryerror是什么意思 (64)
- flask文件上传 (63)
- eacces (67)
- 查看mysql是否启动 (70)
- java是值传递还是引用传递 (58)
- 无效的列索引 (74)