Skip to content

Layout Container ​

Composable layout components for building page structures. Combine VxContainer, VxHeader, VxFooter, VxAside, and VxMain to create any layout.

The container auto-detects direction: vertical when children include VxHeader or VxFooter, horizontal otherwise.

Header + Main ​

Header
Main
vue
<template>
  <VxContainer>
    <VxHeader>Header</VxHeader>
    <VxMain>Main</VxMain>
  </VxContainer>
</template>
Header
Main
Footer
vue
<template>
  <VxContainer>
    <VxHeader>Header</VxHeader>
    <VxMain>Main</VxMain>
    <VxFooter>Footer</VxFooter>
  </VxContainer>
</template>

Aside + Main ​

Main
vue
<template>
  <VxContainer>
    <VxAside width="200px">Aside</VxAside>
    <VxMain>Main</VxMain>
  </VxContainer>
</template>

Header + Aside + Main ​

Header
Main
vue
<template>
  <VxContainer>
    <VxHeader>Header</VxHeader>
    <VxContainer>
      <VxAside width="200px">Aside</VxAside>
      <VxMain>Main</VxMain>
    </VxContainer>
  </VxContainer>
</template>

Aside + Header + Main ​

Header
Main
vue
<template>
  <VxContainer>
    <VxAside width="200px">Aside</VxAside>
    <VxContainer>
      <VxHeader>Header</VxHeader>
      <VxMain>Main</VxMain>
    </VxContainer>
  </VxContainer>
</template>
Header
Main
Footer
vue
<template>
  <VxContainer>
    <VxHeader>Header</VxHeader>
    <VxContainer>
      <VxAside width="200px">Aside</VxAside>
      <VxMain>Main</VxMain>
    </VxContainer>
    <VxFooter>Footer</VxFooter>
  </VxContainer>
</template>
Header
Main
Footer
vue
<template>
  <VxContainer>
    <VxAside width="200px">Aside</VxAside>
    <VxContainer>
      <VxHeader>Header</VxHeader>
      <VxMain>Main</VxMain>
      <VxFooter>Footer</VxFooter>
    </VxContainer>
  </VxContainer>
</template>

Props ​

VxContainer ​

PropTypeDefaultDescription
direction'horizontal' | 'vertical'autoLayout direction. Auto-detects vertical when children include Header or Footer

VxHeader ​

PropTypeDefaultDescription
heightstring'60px'Header height

VxFooter ​

PropTypeDefaultDescription
heightstring'60px'Footer height

VxAside ​

PropTypeDefaultDescription
widthstring'200px'Aside width