要使用 Vue 3 模拟 Mac 程序坞(Dock)鼠标悬停动画,你可以使用 Vue 的过渡效果和动态类绑定来实现。
<div id="app">
<div class="dock">
<div
class="dock-item"
v-for="(item, index) in dockItems"
:key="index"
:class="{ active: item.active }"
@mouseover="hoverItem(index)"
@mouseout="unhoverItem(index)"
>
{{ item.name }}
</div>
</div>
</div>
CSS 代码:
.dock {
display: flex;
justify-content: center;
background-color: #f0f0f0;
padding: 10px;
}
.dock-item {
padding: 10px;
cursor: pointer;
}
.dock-item.active {
background-color: #c0c0c0;
color: #fff;
}
Vue 代码:
const app = Vue.createApp({
data() {
return {
dockItems: [
{ name: 'Safari', active: false },
{ name: 'Mail', active: false },
{ name: 'Calendar', active: false },
{ name: 'Notes', active: false }
]
};
},
methods: {
hoverItem(index) {
this.dockItems[index].active = true;
},
unhoverItem(index) {
this.dockItems[index].active = false;
}
}
});
app.mount('#app');
在上述代码中,我们使用 Vue 3 创建了一个 Vue 应用,并定义了一个 dockItems
数据数组,其中每个 Dock 项都包含名称和活动状态的信息。
在 HTML 中,我们使用 Vue 的指令 v-for
循环渲染 Dock 项,并通过动态类绑定 :class
来根据 active
属性来切换项的样式。当鼠标悬停时,调用 hoverItem
方法将 Dock 项的 active
属性设置为 true
,从而改变项的样式。当鼠标离开时,调用 unhoverItem
方法将 Dock 项的 active
属性设置为 false
,还原项的样式。
请确保在 HTML 文件中引入了 Vue.js 库,并将以上代码放置在正确的位置。
这样,当你将代码复制到 HTML 文件中并在浏览器中打开时,就可以看到 Vue 3 模拟 Mac 程序坞鼠标悬停动画的效果了。