#javascript #html #css #vuetify.js
#javascript #HTML #css #vuetify.js
Вопрос:
Я должен изменить высоту цвета фона при наведении курсора мыши на меню вкладок. Это мой заказ клиента, я попытался создать код ниже. Это кажется успешным, но немного связано с движением на вкладке.
Я использовал v-tab: hover для управления высотой вкладки. При наведении курсора мыши на вкладку заголовок вкладки перемещается вверх. Я хочу исправить заголовок вкладки и просто настроить цвет фона. Может кто-нибудь посоветовать мне, пожалуйста?
[Html]
<div id="app">
<v-app id="inspire">
<v-tabs>
<v-tab>Item One</v-tab>
<v-tab>Item Two</v-tab>
<v-tab>Item Three</v-tab>
</v-tabs>
</v-app>
</div>
[CSS]
.v-tab:hover {
height: 40px;
}
[Javascript]
new Vue({
el: '#app',
vuetify: new Vuetify(),
})
Комментарии:
1.
.v-tab
подразумевает что-то с классом v-tab … думаю, вы могли бы указать свой<v-tab>
этот класс … например<v-tab class="v-tab">....</v-tab>
2. Спасибо за ваши комментарии! Я попробовал ваш совет, но он не сработал.
Ответ №1:
Если нет какого-либо другого CSS, перезаписывающего высоту, ваш код должен работать, поскольку v-tab является классом <v-tab>
. Смотрите codesandbox:https://codesandbox.io/s/stupefied-pike-kp3ru?file=/src/components/HelloWorld.vue
или код ниже:
<template>
<div>
<v-tabs>
<v-tab>Item One</v-tab>
<v-tab>Item Two</v-tab>
<v-tab>Item Three</v-tab>
</v-tabs>
</div>
</template>
<script>
export default {
name: "HelloWorld",
};
</script>
<style scoped>
.v-tab, .v-tab:hover {
height: 40px;
}
</style>
Редактировать: Добавлен тот же CSS в .v-tab без наведения курсора, чтобы избежать перемещения при наведении курсора.
Комментарии:
1. Спасибо за ваши комментарии!! Я действительно ценю это!
2. итак, функционально идентичный код работает… насколько подозрительно
Ответ №2:
<v-hover>
компонент — правильный способ сделать это.
<template>
<div>
<v-tabs>
<v-hover v-slot="{ hover }">
<v-tab :class="{ 'on-hover': hover }">Item One</v-tab>
</v-hover>
<v-hover v-slot="{ hover }">
<v-tab :class="{ 'on-hover': hover }">Item Two</v-tab>
</v-hover>
<v-hover v-slot="{ hover }">
<v-tab :class="{ 'on-hover': hover }">Item Three</v-tab>
</v-hover>
</v-tabs>
</div>
</template>
<script>
export default {
name: "HelloWorld",
};
</script>
<style scoped>
.v-tab.on-hover {
/* hover styles here */
}
</style>