当前位置:首页 > VUE

vue实现页面骨框架

2026-01-23 03:15:35VUE

Vue 实现页面骨架屏的方法

骨架屏(Skeleton Screen)是一种优化用户体验的技术,在页面数据加载前展示占位内容,避免空白或闪烁。以下是几种 Vue 实现骨架屏的方案:

使用 CSS 或预渲染骨架屏

通过纯 CSS 或静态 HTML 实现骨架屏,适合简单场景。在 Vue 组件的 v-if/v-else 中切换骨架屏和真实内容。

<template>
  <div v-if="loading" class="skeleton">
    <div class="skeleton-item"></div>
    <div class="skeleton-item"></div>
  </div>
  <div v-else>
    <!-- 真实内容 -->
  </div>
</template>

<style>
.skeleton {
  background: #f0f0f0;
}
.skeleton-item {
  height: 20px;
  margin: 10px 0;
  background: linear-gradient(90deg, #f0f0f0 25%, #e0e0e0 50%, #f0f0f0 75%);
  background-size: 200% 100%;
  animation: shimmer 1.5s infinite;
}
@keyframes shimmer {
  from { background-position: 200% 0; }
  to { background-position: -200% 0; }
}
</style>

使用第三方库

vue-skeleton-webpack-pluginvue-content-loader 提供更灵活的骨架屏生成方式。

vue实现页面骨框架

安装 vue-content-loader

npm install vue-content-loader

示例代码:

<template>
  <content-loader v-if="loading" :speed="2" primaryColor="#f3f3f3" secondaryColor="#ecebeb">
    <rect x="0" y="0" rx="3" ry="3" width="250" height="10" />
    <rect x="0" y="20" rx="3" ry="3" width="200" height="10" />
  </content-loader>
  <div v-else>
    <!-- 真实内容 -->
  </div>
</template>

<script>
import { ContentLoader } from 'vue-content-loader'
export default {
  components: { ContentLoader }
}
</script>

服务端渲染(SSR)集成

vue实现页面骨框架

在 Nuxt.js 等 SSR 框架中,可通过 loading 属性或自定义布局实现骨架屏。

// nuxt.config.js
export default {
  loading: {
    color: '#3B8070',
    height: '2px'
  }
}

动态数据驱动的骨架屏

根据实际内容结构动态生成骨架屏,确保占位与最终布局一致。

// 动态生成骨架屏占位数量
computed: {
  skeletonItems() {
    return Array(this.expectedItemCount).fill(0)
  }
}

实现注意事项

  • 骨架屏的样式应与真实内容布局接近,避免加载后页面跳动。
  • 动画效果(如渐变动画)能提升感知体验,但需控制性能开销。
  • 在移动端需针对不同屏幕尺寸适配骨架屏样式。
  • 对于复杂页面,可分区逐步替换骨架屏(如先头部后列表)。

标签: 框架页面
分享给朋友:

相关文章

vue如何实现默认页面

vue如何实现默认页面

Vue 实现默认页面的方法 在 Vue 项目中,通常需要设置一个默认页面(如首页或登录页)作为用户访问时的初始页面。可以通过路由配置实现。 配置路由默认跳转 在 Vue Router 中,使用 re…

h5页面实现vr

h5页面实现vr

实现H5页面VR效果的方法 在H5页面中实现VR(虚拟现实)效果,可以通过以下几种技术方案实现: 使用WebVR API WebVR是一个实验性的JavaScript API,提供了访问VR设备的功…

h5实现页面切换

h5实现页面切换

h5实现页面切换的方法 在H5中实现页面切换可以通过多种方式完成,包括使用原生HTML链接、JavaScript动态加载、框架路由等。以下是几种常见的方法: 使用原生HTML的<a>标签…

vue 实现页面返回

vue 实现页面返回

监听浏览器返回事件 使用 window.addEventListener 监听 popstate 事件,在 Vue 的 mounted 钩子中绑定事件,并在 beforeDestroy 钩子中移除监听…

h5页面如何实现

h5页面如何实现

实现H5页面的方法 H5页面是基于HTML5技术的网页,通常用于移动端和响应式设计。以下是实现H5页面的关键步骤和技术要点。 基础结构 使用HTML5的DOCTYPE声明作为页面的起始。HTML5简…

vue页面实现流程

vue页面实现流程

Vue 页面实现流程 创建 Vue 项目 使用 Vue CLI 或 Vite 初始化项目。Vue CLI 适用于传统项目,Vite 适合现代轻量级应用。 安装依赖后,通过命令行工具运行项目初始化命令,…