【发布时间】:2019-03-08 05:55:36
【问题描述】:
任何人都可以帮助实现 UL 的鼠标悬停功能吗? 我的模板中有一组使用相同类的 UL 标记,但是当我尝试实现鼠标悬停(鼠标悬停时更改边框颜色)时,所有具有该类的 UL 标记都被突出显示。 我对 VUE 还是很陌生。
模板
<ul v-bind:class="[sbitmcls]" @mouseover="mouseOver" @mouseleave="mouseOut">
<img src="../assets/notification.png" alt="" height="30" width="30">
<span> Notification </span>
</ul>
<ul v-bind:class="[sbitmcls]" @mouseover="mouseOver" @mouseleave="mouseOut">
<img src="../assets/message.png" alt="" height="30" width="30">
<span> Message </span>
</ul>
脚本
data() {
return {
sbitmcls: "image",
active: true
};
},
methods: {
onClick() {
this.$router.push("/homepage");
},
mouseOver: function(name) {
this.sbitmcls = "imageSelected"
},
mouseOut: function() {
event.target.style.background = "#4a4b45";
}
}
风格:
.image {
display: relative;
background-color: #4a4b45;
color: white;
font-family: Rubik, "Bookman", Garamond, "Times New Roman", Times, serif;
font-size: 1.2em;
font-style: bold;
line-height: 2em;
height: 5%;
border-left: 5px solid #4a4b45;
margin-right: 50px;
margin: 1px 0;
padding-left: 1em;
}
.imageSelected {
display: relative;
background-color: #575a51;
color: white;
font-family: Rubik, "Bookman", Garamond, "Times New Roman", Times, serif;
font-size: 1.2em;
font-style: bold;
line-height: 2em;
height: 5%;
border-left: 5px solid blue;
margin-right: 50px;
margin: 1px 0;
padding-left: 1em;
}
有没有更好的方法来实现这个?
谢谢,
【问题讨论】:
-
但是你的方式很完美@girish
-
为什么要复制所有属性?您不能设置一个全局图像类,然后在其上“选择” .image 和 .image .selected 吗?
标签: css vuejs2 vue-component vue-router