当前位置:首页 > VUE

vue 实现分屏

2026-01-13 01:52:51VUE

Vue 实现分屏的方法

使用 CSS Flexbox 或 Grid 布局

在 Vue 中可以通过 CSS Flexbox 或 Grid 布局实现分屏效果。创建一个父容器,将子元素设置为弹性或网格布局,调整宽度或高度比例即可实现分屏。

vue 实现分屏

<template>
  <div class="split-screen">
    <div class="left-pane">左侧内容</div>
    <div class="right-pane">右侧内容</div>
  </div>
</template>

<style>
.split-screen {
  display: flex;
  height: 100vh;
}
.left-pane {
  flex: 1;
  background: #f0f0f0;
}
.right-pane {
  flex: 1;
  background: #e0e0e0;
}
</style>

使用第三方库(如 Split.js)

Split.js 是一个轻量级的分屏库,可以方便地实现可拖拽的分屏效果。在 Vue 中可以通过引入 Split.js 来实现。

vue 实现分屏

<template>
  <div class="split-container">
    <div id="left-pane">左侧内容</div>
    <div id="right-pane">右侧内容</div>
  </div>
</template>

<script>
import Split from 'split.js';

export default {
  mounted() {
    Split(['#left-pane', '#right-pane'], {
      sizes: [50, 50],
      minSize: 100,
    });
  },
};
</script>

<style>
.split-container {
  display: flex;
  height: 100vh;
}
#left-pane, #right-pane {
  height: 100%;
  overflow: auto;
}
</style>

动态调整分屏比例

通过 Vue 的数据绑定和计算属性,可以实现动态调整分屏比例的功能。

<template>
  <div class="split-screen">
    <div class="left-pane" :style="{ width: leftWidth + '%' }">左侧内容</div>
    <div class="right-pane" :style="{ width: rightWidth + '%' }">右侧内容</div>
  </div>
  <button @click="adjustSplit(70)">调整比例为 70:30</button>
</template>

<script>
export default {
  data() {
    return {
      leftWidth: 50,
      rightWidth: 50,
    };
  },
  methods: {
    adjustSplit(leftPercent) {
      this.leftWidth = leftPercent;
      this.rightWidth = 100 - leftPercent;
    },
  },
};
</script>

<style>
.split-screen {
  display: flex;
  height: 100vh;
}
.left-pane, .right-pane {
  height: 100%;
  overflow: auto;
}
</style>

响应式分屏

通过 Vue 的响应式特性,结合媒体查询,可以实现不同屏幕尺寸下的分屏布局。

<template>
  <div class="split-screen">
    <div class="left-pane">左侧内容</div>
    <div class="right-pane">右侧内容</div>
  </div>
</template>

<style>
.split-screen {
  display: flex;
  height: 100vh;
}
.left-pane, .right-pane {
  flex: 1;
  height: 100%;
}

@media (max-width: 768px) {
  .split-screen {
    flex-direction: column;
  }
}
</style>

以上方法可以根据实际需求选择使用,实现 Vue 中的分屏效果。

标签: vue
分享给朋友:

相关文章

vue实现a4打印模板

vue实现a4打印模板

使用Vue实现A4打印模板 在Vue中实现A4打印模板需要结合CSS的打印样式和Vue的模板渲染能力。以下是具体实现方法: 设置A4纸张尺寸 在CSS中定义A4纸张的标准尺寸(210mm × 297…

vue实现公告

vue实现公告

Vue 实现公告功能的方法 公告功能通常需要实现滚动展示、自动切换或固定显示的效果。以下是几种常见的实现方式: 使用 marquee 标签实现滚动公告 <template> &l…

vue实现popup

vue实现popup

Vue 实现 Popup 弹窗 使用 Vue 原生组件 创建一个基本的 Vue 组件作为弹窗,通过 v-if 或 v-show 控制显示隐藏。 <template> <div&…

vue实现树

vue实现树

Vue 实现树形结构的方法 使用递归组件实现树形结构 递归组件是Vue中实现树形结构的常见方式。通过组件调用自身,可以轻松构建多层嵌套的树形数据。 <template> <ul…

vue实现portal

vue实现portal

Vue 实现 Portal 功能 Portal 是一种将子节点渲染到父组件 DOM 层级之外的 DOM 节点的技术,常用于实现模态框、弹出层等需要脱离当前组件层级的场景。Vue 可以通过多种方式实现…

vue首页实现

vue首页实现

实现Vue首页的基本步骤 创建一个Vue首页通常涉及项目初始化、页面结构设计、路由配置和组件开发。以下是具体实现方法: 初始化Vue项目 使用Vue CLI或Vite快速搭建项目结构: npm i…