Удалите нижний пробел в Vuetify v-карусель-элемент

#css #vue.js #vuetify.js #whitespace

Вопрос:

В моем VuetifyJS v-carousel-item у меня есть изображение, заголовок и подзаголовок, как показано ниже. Но внизу у меня много пробелов. Я установил цвет фона на v-carousel-item фиолетовый, и мы можем видеть многое из этого на картинке.

введите описание изображения здесь

Я попытался удалить содержимое элемента карусели, и вот что я получил.

введите описание изображения здесь

Я попытался установить высоту, удалить отступы и поля, но ничего не получилось, ниже приведен мой код

           <v-carousel
            cycle
            :show-arrows="false"
            style="background-color: pink"
          >
            <v-carousel-item
              v-for="item in carouselItems"
              :key="item.id"
              style="background-color: purple; height: 800px"
              class="pb-0 mb-0"
            >
              <- Content for Carousel item->
            </v-carousel-item>
          </v-carousel>
 

Любые предложения приветствуются.

Комментарии:

1. Я попытался добавить <v-carousel height=10px /> в ваш код, и теперь высота составляет 10 пикселей. Вы пробовали добавить высоту к v-carousel тегу? Не как свойства стиля. Сама высота.

Ответ №1:

Как упоминалось в документе vuetify, значение по умолчанию для height of v-carousel равно 500. Поэтому, если вы не зададите ему значение, высота по умолчанию v-carousel будет равна 500.

Поэтому я предлагаю использовать картинки с одинаковой высотой в карусели и устанавливать их в height соответствии с ними. Подобный этому:

   <v-carousel
    cycle
    :show-arrows="false"
    style="background-color: pink"
    height='120px'
  >
    <v-carousel-item
      style="background-color: purple; height: 70px"
      class="pb-0 mb-0"
    >
      <- Content for Carousel item->
    </v-carousel-item>
    <v-carousel-item
      style="background-color: purple; height: 70px"
      class="pb-0 mb-0"
    >
      <- Content for Carousel item->
    </v-carousel-item>
    <v-carousel-item
      style="background-color: purple; height: 70px"
      class="pb-0 mb-0"
    >
      <- Content for Carousel item->
    </v-carousel-item>
  </v-carousel>
 

Ответ №2:

У меня была эта проблема, и я решил ее очень легко. Просто поместите содержимое v-карусели в родительский div с классом контейнера, как показано ниже :

 <div class="container">
    <v-carousel>
        <v-carousel-item>
            your codes
        </v-carousel-item> 
    </v-carousel>
</div>
 

Наслаждайтесь этим!

Ответ №3:

Проблема в том, что во многих примерах документации неправильно используется v-row компонент для упаковки содержимого внутри v-carousel-item .

   <v-carousel v-model="model">
    <v-carousel-item
      v-for="(color, i) in colors"
      :key="color"
    >
      <v-sheet
        :color="color"
        height="100%"
        tile
      >
        <!-- This v-row will get you the undesired empty space at the bottom of the carousel -->
        <v-row
          class="fill-height"
          align="center"
          justify="center"
        >
          <div class="text-h2">
            Slide {{ i   1 }}
          </div>
        </v-row>
      </v-sheet>
    </v-carousel-item>
 

Вам нужно только заменить v-row его на div:

   <v-carousel v-model="model">
    <v-carousel-item
      v-for="(color, i) in colors"
      :key="color"
    >
      <v-sheet
        :color="color"
        height="100%"
        tile
      >
        <!-- This div will get rid of the undesired empty space at the bottom of the carousel -->
        <div class="d-flex fill-height align-center justify-center">
          <div class="text-h2">
            Slide {{ i   1 }}
          </div>
        </div>
      </v-sheet>
    </v-carousel-item>