类似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时,其放大效果会有些问题,后续需要继续改进。

这里是组件的参数:

相关推荐
JS_GGbond几秒前
前端大扫除:JS垃圾回收与那些“赖着不走”的内存泄露
前端
葡萄城技术团队5 分钟前
轻量级部署:SpreadJS 包依赖优化与打包体积瘦身秘籍
前端
阿湯哥7 分钟前
Design Token 详解
前端
json{shen:"jing"}12 分钟前
08_组件基础
前端·javascript·vue.js
嚣张丶小麦兜14 分钟前
docker的简单应用
前端·docker
代码猎人24 分钟前
instanceof 运算符的实现原理是什么,如何实现
前端
Erishen26 分钟前
🚀 重新定义前端组件安装体验:shadcn + Bun 的极致开发效率
前端
冬奇Lab26 分钟前
Vercel部署全攻略:从GitHub到上线,10分钟让你的前端项目免费拥有自己的域名
前端·后端·node.js
牛马11128 分钟前
Flutter Web性能优化标签解析
前端·flutter·性能优化
Bigger29 分钟前
Tauri (25)——消除搜索列表默认选中的 UI 闪动
前端·react.js·weui