当前位置:首页 > VUE

vue页面实现分屏

2026-01-19 00:19:51VUE

Vue 页面实现分屏的方法

使用 CSS Flexbox 布局

通过 Flexbox 可以轻松实现分屏效果。创建一个父容器,设置 display: flex,子元素根据需要设置宽度或比例。

<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>

使用 CSS Grid 布局

Grid 布局提供了更灵活的分屏方式,适合复杂的分屏需求。

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

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

动态调整分屏比例

结合 Vue 的响应式特性,可以实现动态调整分屏比例。

<template>
  <div class="split-screen">
    <div class="left-pane" :style="{ flex: leftRatio }">左侧内容</div>
    <div class="right-pane" :style="{ flex: rightRatio }">右侧内容</div>
  </div>
  <button @click="adjustRatio">调整比例</button>
</template>

<script>
export default {
  data() {
    return {
      leftRatio: 1,
      rightRatio: 1
    };
  },
  methods: {
    adjustRatio() {
      this.leftRatio = 2;
      this.rightRatio = 1;
    }
  }
};
</script>

<style>
.split-screen {
  display: flex;
  height: 100vh;
}
.left-pane, .right-pane {
  transition: flex 0.3s ease;
}
</style>

使用第三方库

如果需要更复杂的分屏功能(如拖动调整大小),可以使用第三方库如 split.js

安装 split.js

npm install split.js

在 Vue 中使用:

<template>
  <div class="split-screen">
    <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,
      gutterSize: 8,
    });
  }
};
</script>

<style>
.split-screen {
  display: flex;
  height: 100vh;
}
#left-pane, #right-pane {
  overflow: auto;
}
.gutter {
  background-color: #ddd;
}
</style>

垂直分屏

将布局方向改为垂直分屏,只需调整 Flexbox 或 Grid 的方向。

<template>
  <div class="split-screen">
    <div class="top-pane">顶部内容</div>
    <div class="bottom-pane">底部内容</div>
  </div>
</template>

<style>
.split-screen {
  display: flex;
  flex-direction: column;
  height: 100vh;
}
.top-pane {
  flex: 1;
  background: #f0f0f0;
}
.bottom-pane {
  flex: 1;
  background: #e0e0e0;
}
</style>

vue页面实现分屏

标签: 页面vue
分享给朋友:

相关文章

vue的动画实现

vue的动画实现

Vue 动画实现方式 Vue 提供了多种方式实现动画效果,主要通过内置组件和第三方库支持。 使用 Vue 内置过渡组件 Vue 的 transition 和 transition-group 组件…

vue实现安全免登录

vue实现安全免登录

Vue 实现安全免登录的方案 免登录功能通常通过持久化认证状态(如 Token)实现,但需兼顾安全性。以下是基于 Vue 的常见实现方案: 基于 Token 的免登录 登录成功后存储 Token…

vue实现用户信息表

vue实现用户信息表

Vue 实现用户信息表的方法 使用 Vue CLI 创建项目 安装 Vue CLI 并初始化项目: npm install -g @vue/cli vue create user-info-tab…

vue实现边框

vue实现边框

Vue 实现边框的方法 在 Vue 中实现边框效果可以通过多种方式完成,包括内联样式、CSS 类绑定、动态样式以及使用第三方 UI 库。以下是几种常见的实现方法。 内联样式绑定 使用 Vue 的 :…

vue能实现

vue能实现

Vue.js 是一个流行的前端框架,能够实现多种功能。以下是 Vue 能够实现的主要功能和特性: 响应式数据绑定 Vue 的核心特性之一是响应式数据绑定。通过数据驱动视图,当数据发生变化时,视图会…

vue 实现单选

vue 实现单选

使用 v-model 绑定单选值 在 Vue 中,可以通过 v-model 绑定单选按钮的值。定义一个响应式数据(如 selectedOption),并将其与单选按钮的 value 属性关联。…