Как добавить нижнюю границу к v-табам Vuetify?

Я хотел бы добиться следующего результата:

Я сделал это, сделав это

<v-tabs>
  <v-tab
    v-for = "(tab, i) in tabs"
    :key = "i"
    v-bind = "tab"
  ></v-tab>
</v-tabs>
<v-divider></v-divider>

Но я не хочу использовать <v-divider>, я бы хотел получить тот же внешний вид с помощью CSS. Я попробовал это

<template>
  <v-tabs class = "bordered-tab">
    <v-tab
      v-for = "(tab, i) in tabs"
      :key = "i"
      v-bind = "tab"
    ></v-tab>
  </v-tabs>
</template>

<style scoped>
.bordered-tab {
  border-bottom: 1px solid red;
}
</style>

И это результат

Синяя рамка должна находиться поверх красной. Как мне это сделать?

Редактировать №1

Благодаря инсайтам @kissu я смог достичь своей цели. Это полный код:

<template>
  <v-tabs class = "bordered-tabs">
    <v-tab
      v-for = "(tab, i) in tabs"
      :key = "i"
      v-bind = "tab"
    ></v-tab>
  </v-tabs>
</template>

<style scoped>
.bordered-tabs >>> .v-slide-group__content {
  border-bottom: 1px solid #0000001e;
}
</style>

Еще я хотел бы применить этот стиль ко всем .v-slide-group__content без необходимости явного добавления к ним класса, что-то вроде:

.v-slide-group__content {
  border-bottom: 1px solid #0000001e;
}

Как мне это сделать?

Редактировать №2

Поскольку я хотел применить приведенный выше класс только к горизонтальным <v-tabs>, я написал следующее правило в своем файле main.css.

.v-tabs:not(.v-tabs--vertical) .v-slide-group__content {
  border-bottom: 1px solid #0000001e;
}

С этим правилом

<!-- border-bottom will be applied -->
<v-tabs>
  <!-- tabs... -->
</v-tab>

<!-- border-bottom will not be applied -->
<v-tabs direction = "vertical">
  <!-- tabs... -->
</v-tabs>

Вы пробовали z-index?

Wimanicesir 04.06.2024 15:59

@Wimanicesir да, не повезло.

PyKKe 04.06.2024 16:17

Да без небольшого примера, что получится, можно только догадываться..

Wimanicesir 04.06.2024 16:19

@Wimanicesir, если вам все еще интересно, решение Kissu было на высоте.

PyKKe 04.06.2024 16:50
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Введение в CSS
Введение в CSS
CSS является неотъемлемой частью трех основных составляющих front-end веб-разработки.
Как выровнять Div по центру?
Как выровнять Div по центру?
Чтобы выровнять элемент <div>по горизонтали и вертикали с помощью CSS, можно использовать комбинацию свойств и значений CSS. Вот несколько методов,...
Навигация по приложениям React: Исчерпывающее руководство по React Router
Навигация по приложениям React: Исчерпывающее руководство по React Router
React Router стала незаменимой библиотекой для создания одностраничных приложений с навигацией в React. В этой статье блога мы подробно рассмотрим...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
CSS: FlexBox
CSS: FlexBox
Ранее разработчики использовали макеты с помощью Position и Float. После появления flexbox сценарий полностью изменился.
1
4
82
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Вы можете использовать следующее

<style scoped>
  .edit-those-classes >>> .v-slide-group__content {
    border-bottom: 10px orange solid;
  }
</style>

Вот полная репродукция.

Дополнительная информация о глубоких селекторах .


Если вы хотите, чтобы такое поведение было глобальным, вы можете использовать более простую версию, удалив scoped.

<style>
  .v-slide-group__content {
    border-bottom: 10px orange solid;
  }
</style>

Другие вопросы по теме