轻量级骨架屏设计,让你的页面“薄荷清新”

简介: 轻量级骨架屏设计,让你的页面“薄荷清新”

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. 结论

骨架屏的应用逐渐成为设计和开发中的一项重要技术,它可以缩短页面加载时间,提升用户体验,同时还可以增加品牌认知度。

相关文章
|
前端开发
前端切图:自制简易音乐播放器
前端切图:自制简易音乐播放器
79 0
|
1月前
|
数据可视化 前端开发 数据安全/隐私保护
DIY可视化快速组件CSS样式设计生成源码
DIY可视化快速组件CSS样式设计生成源码
25 0
|
3月前
|
API
【threejs教程】场景视角切换的神器:轨道控制器
【8月更文挑战第5天】threejs教程:场景视角切换的神器,轨道控制器
187 1
【threejs教程】场景视角切换的神器:轨道控制器
|
4月前
|
JavaScript 前端开发 开发者
uniapp实战 —— 骨架屏
uniapp实战 —— 骨架屏
137 0
|
6月前
|
UED
【专栏:交互与用户体验篇】网页中的色彩搭配与配色方案
【4月更文挑战第30天】网页设计中,色彩搭配影响用户体验。了解色彩心理学、搭配原则及配色方案至关重要。色彩能传达信息、影响感知,通过对比与和谐、色彩平衡和层次创造良好视觉效果。单色、类似色、对比色和互补色四种配色方案各有优缺点,需根据目标用户和网页需求选择。恰当的色彩运用能提升美感,增强网页吸引力。
127 5
|
6月前
|
移动开发 小程序 前端开发
【经验分享】如何实现在支付宝小程序内的骨架屏效果
【经验分享】如何实现在支付宝小程序内的骨架屏效果
84 6
|
移动开发 前端开发 JavaScript
分享8个前端可以制作360度WebVr全景视图框架
分享8个前端可以制作360度WebVr全景视图框架
1781 0
分享8个前端可以制作360度WebVr全景视图框架
|
前端开发 API UED
「前端UI组件」如何实现一个骨架屏组件
用技术实现梦想,用梦想打开前端技术之门。今天分享如何实现一个骨架屏组件。
768 1
「前端UI组件」如何实现一个骨架屏组件
|
小程序 前端开发 开发者
微信小程序实战之骨架屏的应用与实现
我们打开一个应用后,应用会通过ajax来请求数据,而在这段空缺的时间,没有数据,内容缺失,这对于用户的感觉很不好,所以我们需要在这个时间段内通过骨架屏来填充这个空缺。
312 0
微信小程序实战之骨架屏的应用与实现
|
Web App开发 数据采集 缓存
你不可能知道的骨架屏玩法!
骨架屏基本就是详细页面元素未展现时,把DOM结构通过线条勾勒出来。而对于C端的营销类活动页面来说,并没有比较标准的骨架,每个活动有自己的轮廓,那怎么办呢?
你不可能知道的骨架屏玩法!