Как выровнять содержимое по центру компонента v-card в Vuetify?

В настоящее время в продукты.vue у меня есть массив productList, содержащий 4 объекта. Я пройдусь по массиву и передам каждый отдельный объект компоненту ProductsItem.vue. В этом компоненте я создаю карты с помощью vuetify.

Я не могу выровнять содержимое по центру карты.

Вот мой код, скриншот моих карт и желаемый результат

Продукты.vue

    <template>
      <div>
        <h1>Products</h1>
        <v-container class = "my-5">
          <v-layout row wrap>
            <v-flex xs12 sm6 md4 v-for = "productItem in productList" 
    :key = "productItem.id">
              <ProductItems :productItem = "productItem"/>
            </v-flex>
          </v-layout>
        </v-container>
      </div>
    </template>

    <script>
    import ProductItems from "@/components/ProductItems";


    export default {
      data() {
        return {
          productList: [
            {
              id: 1,
              name: "Superdry",
              description: "Rookie Aviator Patched Bomber"
            },
            {
              id: 2,
              name: "SuperHot",
              description: "Rookie Aviator Patched Bomber"
            },
            {
              id: 3,
              name: "Buron MensWear",
              description: "Skinny Fit Oxford Shirt In White"
            },
            {
              id: 4,
              name: "Asos",
              description: "slim shirt with stretch in blue"
            }
          ]
        };
      },

        components: {
          ProductItems
        }
      }
    </script>

ProductItem.vue

    <template>
      <v-card flat class = "ma-3 text-xs-center">
      <v-img src = "https://cdn.vuetifyjs.com/images/cards/desert.jpg" aspect- 
    ratio = "2.75"></v-img>
        <v-card-title primary-title>
          <div>
            <h3 class = "headline pink--text text--accent-2"> 
    {{productItem.name}}</h3>
            <div>{{productItem.description}}</div>
          </div>
        </v-card-title>
        <v-card-actions>
          <v-btn flat color = "orange">Add to Cart</v-btn>
        </v-card-actions>
      </v-card>
    </template>

    <script>
    export default {
      props: ["productItem"],
      data() {
        return {};
      }
    };
    </script>

<style>
</style>

Как выровнять содержимое по центру компонента v-card в Vuetify?

Не могли бы вы предоставить CodePen или JsFiddle, пожалуйста?

Toodoo 08.04.2019 15:29

@Toodoo Конечно, дай мне секунду

Issaki 08.04.2019 15:30

Возможный дубликат vuetify элементы центра в v-flex

Traxo 08.04.2019 15:43

@Toodoo Привет, я не знаю, как пользоваться CodePen. Следовательно, вместо того, чтобы использовать два компонента, я объединяю их в один компонент. Кроме того, карты жестко запрограммированы вместо использования цикла for, и изображения не отображаются. Вот ссылка: codepen.io/neo-tian-how/pen/KYNwBZ?editors=1100

Issaki 08.04.2019 15:44

@Issaki в вашей кодовой ручке заголовок расположен по центру. Какую часть вы хотите централизовать?

DjSh 08.04.2019 15:47

@DjSh Описание товара и кнопка

Issaki 08.04.2019 15:49

@Djsh Название также не по центру, когда я смотрю на свой Codepen.

Issaki 08.04.2019 15:50
Стоит ли изучать PHP в 2023-2024 годах?
Стоит ли изучать PHP в 2023-2024 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
37
7
78 668
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

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

Обновлять: работает в обеих версиях Vuetify 1.5 и 2:

Чтобы централизовать v-card-text контент, просто примените class=text-center

v-card-title и v-card-actions являются компонентами сгибаться, поэтому, добавив class = "justify-center" к обоим, вы можете централизовать все это:

<v-card-title primary-title class = "justify-center">
  <div>
    <h3 class = "headline pink--text text--accent-2">Superdry</h3>
    <div>Rookie Aviator Patched BomberproductItem.description</div>
  </div>
</v-card-title>
<v-card-actions class = "justify-center">
  <v-btn flat color = "orange">Add to Cart</v-btn>
</v-card-actions>

пожалуйста. На самом деле вам даже не нужно class = "text-xs-center", поэтому я удалил его из своего ответа.

DjSh 08.04.2019 16:07

you can also use v-spacer to center components in v-card

<v-card-title>
  <v-spacer />
  <div class = "text-center">
    <h3 class = "headline pink--text text--accent-2">Headline</h3>
    <div>Some description about the headline</div>
  </div>
  <v-spacer />
</v-card-title>
<v-card-actions>
  <v-spacer />
  <v-btn color = "orange">Some Button</v-btn>
  <v-spacer />
</v-card-actions>

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