vuetify v-col xs="12" only fill half the width

Ravi Anand picture Ravi Anand · Aug 28, 2019 · Viewed 12.7k times · Source

I am wondering why vuetify breakpoints are not working on when screen size is <600px

I am expecting same column width when screen size is XS

Codepan sample

Answer

Trenton Trama picture Trenton Trama · Aug 28, 2019

It's a combination of two things

  1. There is no XS prop available to v-col.
  2. Columns automatically take up the entire available space within its parent container unless you've specified the width it should take up before hand.

Columns will automatically take up an equal amount of space within their parent container. This can be modified using the cols prop. You can also utilize the sm, md, lg, and xl props to further define how the column will be sized in different viewport sizes.

https://vuetifyjs.com/en/components/grids#auto-sizing-columns

To address this, set the "cols" prop of v-col to 12 to indicate that it should take up 12 columns across all viewports. You can consider it to be the "xs" property you're trying to use. Then, any larger viewports will inherit the last valid size.

<v-col
  v-for="n in 3"
  :key="n"
  cols="12"
  md="4"
>