Кажется, я не могу центрировать компонент v-switch внутри v-flex, когда элементы ориентированы в ряд.
v-switch
v-flex
Такое ощущение, что я попробовал все документированные реквизиты v-container, v-layout и v-flex на странице документации Grid system , и кажется, что ничего не получается сделать (например, justify-center, text-xs-center и т. Д.).
v-container
v-layout
justify-center
text-xs-center
Я пытался решить подобные проблемы, но безрезультатно.
new Vue({ el: '#app', data () { return { enabled: false } } })
<head> <link href="https://fonts.googleapis.com/css?family=Roboto:100,300,400,500,700,900|Material+Icons" rel="stylesheet"> <link href="https://cdn.jsdelivr.net/npm/vuetify/dist/vuetify.min.css" rel="stylesheet"> <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no, minimal-ui"> </head> <script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script> <script src="https://cdn.jsdelivr.net/npm/vuetify/dist/vuetify.js"></script> <div id="app"> <v-app id="inspire"> <v-container grid-list-xl style="background: IndianRed;"> <v-layout text-xs-center row wrap align-center style="height: 100px;"> <v-flex xs4> <v-card color="success"> Content </v-card> </v-flex> <!–– This guy right here --> <v-flex xs4> <v-switch prepend-icon="cloud" v-model="enabled"></v-switch> </v-flex> <v-flex xs4> <v-card color="success"> Content </v-card> </v-flex> </v-layout> </v-container> </v-app> </div>
Решение, которое я получил, заключалось в использовании столбца, ориентированного на v-layout, с align-center, обернутым вокруг v-switch компонента.
align-center
<head> <link href="https://fonts.googleapis.com/css?family=Roboto:100,300,400,500,700,900|Material+Icons" rel="stylesheet"> <link href="https://cdn.jsdelivr.net/npm/vuetify/dist/vuetify.min.css" rel="stylesheet"> <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no, minimal-ui"> </head> <script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script> <script src="https://cdn.jsdelivr.net/npm/vuetify/dist/vuetify.js"></script> <div id="app"> <v-app id="inspire"> <v-container grid-list-xl style="background: IndianRed;"> <v-layout text-xs-center row wrap align-center style="height: 100px;"> <v-flex xs4> <v-card color="success"> Content </v-card> </v-flex> <!–– This guy right here --> <v-flex xs4> <v-layout column align-center> <v-switch prepend-icon="cloud" v-model="enabled"></v-switch> </v-layout> </v-flex> <v-flex xs4> <v-card color="success"> Content </v-card> </v-flex> </v-layout> </v-container> </v-app> </div>
<v-flex xs4> <v-layout justify-center align-center> <v-switch prepend-icon="cloud" v-model="enabled"></v-switch> </v-layout> </v-flex>
Используя вложенный макет с выравниванием по центру и выравниванию, вы получите желаемый эффект.