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

这里是组件的参数:

相关推荐
史努比的大头1 小时前
前端开发深入了解webpack
前端
Dovir多多1 小时前
渗透测试入门学习——php与mysql数据库连接、使用session完成简单的用户注册、登录
前端·数据库·后端·mysql·安全·html·php
B.-1 小时前
Remix 学习 - @remix-run/react 中主要的 hooks
前端·javascript·学习·react.js·web
计算机学姐1 小时前
基于微信小程序的食堂点餐预约管理系统
java·vue.js·spring boot·mysql·微信小程序·小程序·mybatis
小刘|1 小时前
《实现 HTML 图片轮播效果》
前端·html
罗_三金2 小时前
微信小程序读写NFC标签(实现NFC标签快速拉起小程序)实战
前端·javascript·微信小程序·小程序
J总裁的小芒果2 小时前
vue3-print打印eletable某一行的数据
javascript·vue.js·elementui
大大。3 小时前
el-input 只能输入数字和一个小数点,或者只能输入正整数
前端·javascript·vue.js
盼盼盼3 小时前
如何避免在使用 Context API 时出现状态管理的常见问题?
前端·javascript·react.js
Amd7943 小时前
Nuxt Kit 中的布局管理
前端·web开发·nuxt.js·布局管理·代码示例·addlayout·页面结构