类似mac dock的tab切换组件

一、效果图

鼠标在圆圈位置的放大效果

二、所用组件库

这里使用的组件库为contextmenu-ui组件库

安装方式:

复制代码
npm i contextmenu-ui

引用方式:

复制代码
// main.js

import App from './App.vue'
import VueTestUI from 'contextmenu-ui/dist/contextmenu-ui.umd.cjs'
import 'contextmenu-ui/dist/index.css'

const app = createApp(App)
app.use(VueTestUI);

三、所用组件及如何使用

所用的组件则是其中的ZsTab组件,这里直接上代码

html 复制代码
<template>
    <div>
        <ZsTab :active-name="activeName" :is-trans="true">
            <ZsTabPane name="first"></ZsTabPane>
            <ZsTabPane name="second"></ZsTabPane>
            <ZsTabPane name="third"></ZsTabPane>
            <ZsTabPane name="fourth"></ZsTabPane>
            <ZsTabPane name="fifth"></ZsTabPane>
            <ZsTabPane name="sixth"></ZsTabPane>
            <ZsTabPane name="seventh"></ZsTabPane>
        </ZsTab>
    </div>
</template>
<script setup>
import { ref } from 'vue'
const activeName = ref('first')
</script>

直接在ZsTabPane标签中填充内容即可,其中is-trans属性最好设置为true,这个组件的放大效果还不错,但是当ZsTabPane组件的内容单位为px时,其放大效果会有些问题,后续需要继续改进。

这里是组件的参数:

相关推荐
一涯6 分钟前
页面出现空白区域
前端
spmcor31 分钟前
MinIO本地对象存储部署指南
前端
少年纪35 分钟前
前端用 pdf.js 将 PDF 渲染到 Canvas 再转图片,文字消失的坑
前端
RoyLin36 分钟前
TypeScript设计模式:复合模式
前端·后端·typescript
我是天龙_绍39 分钟前
CSS/JS/图片全挂了,部署后页面白屏/资源加载失败?这两个配置项坑了多少人!
前端
我的小月月40 分钟前
SQLFE:网页版数据库(VUE3+Node.js)
前端·后端
小高00740 分钟前
🌐ES6 这 8 个隐藏外挂,知道 3 个算我输!
前端·javascript·面试
汤姆Tom41 分钟前
Node.js 版本管理、NPM 命令、与 NVM 完全指南
前端·npm·node.js
东坡白菜42 分钟前
SSE 实现 AI 对话中的流式输出
javascript·vue.js
Alan5215943 分钟前
Java 后端实现基于 JWT 的用户认证和权限校验(含代码讲解)
前端·后端