当前位置: 首页 > Web前端 > CSS

骨架屏--骨架屏

时间:2023-03-30 15:39:40 CSS

用户体验一直是前端开发的重要一环。请求数据时看到锁屏加载动画很常见,但现在越来越多的产品倾向于使用骨架屏加载(skeletonscreen)来优化用户体验。原文链接SkeletonScreenSkeletonScreen(骨架屏幕)是在页面数据加载之前,向用户展示页面的大致结构,然后渲染页面,直到返回请求的数据,补充需要的数据内容显示。常用于文章列表和动态列表页面。不管是PC端还是移动端处理请求,只要有数据请求,都会有一定的延迟时间。之前对这个等待时间的处理也是不一样的。同步请求期间,页面会一直卡住,直到请求完成,期间用户不能进行任何操作。有种崩溃的感觉,体验差。大部分异步请求都会使用锁屏的loading动画来过渡等待时间,所以就有了制作不同loadng状态的show。骷髅屏的优势在于锁屏加载在一定程度上限制了用户的操作,所以为了进一步提升用户体验,越来越多的公司产品采用了骷髅屏,比如:Facebook、简书、知乎、掘金等,在动态中,文章加载时预渲染结构布局,加载数据后填充数据展示。这样做的好处是不会干扰用户的操作,让用户对加载的内容有一个粗略的预期,尤其是在弱网环境下。极大的优化用户体验。SkeletonScreen实现的主要步骤:1.创建一个类似于显示内容的html结构2.为需要显示内容的元素添加背景色。第一种是简单地构建元素结构html

css.skeleton{padding:10px;}.skeleton.skeleton-head,.skeleton.skeleton-title,.skeleton.skeleton-content{background:rgb(194,207,214);}.skeleton-head{width:100px;高度:100px;向左飘浮;}。骨架体{margin-left:110px;}.骨架标题{宽度:500px;高度:60px;}。骨架内容{宽度:260px;高度:30px;margin-top:10px;}第二种背景动画,同样的html结构,修改了一些css样式。194、207、214);背景图像:线性渐变(90deg,rgba(255、255、255、0.15)25%,透明25%);背景d尺寸:20rem20rem;动画:骨架条纹1s线性无限;}@keyframes骨架条纹{来自{背景位置:00;}到{背景位置:20rem0;}}第三个元素结构长度变化.skeleton{padding:10px;}.skeleton.skeleton-head,.skeleton.skeleton-title,.skeleton.skeleton-content{background:rgb(194,207,214);}.skeleton-head{宽度:100px;高度:100px;float:left;}.skeleton-body{margin-left:110px;}.skeleton-title{width:500px;高度:60px;变换原点:左;animation:skeleton-stretch.5slinearinfinitealternate;}.skeleton-content{width:260px;高度:30px;顶部边距:10px;变换原点:左;动画:骨架拉伸.5s-.3s线性无限交替;}@keyframes骨架拉伸{from{transform:scalex(1);}到{转换:scalex(.3);}}总结前端优化似乎是一个永无止境的探索,尤其是现在产品非常重视用户体验,任何一个点的体验提升和提升,都增加用户友好度,最终给产品留下好印象