Chakra UI Vue is a UI framework made for Vue.js that lets us add good-looking UI components into our Vue app.
This article will look at how to get started with UI development with Chakra UI Vue.
Aspect Ratio Box
We can use the CAspectRatioBox component to add a container that maintains its aspect ratio when we resize it.
For instance, we can write:
<template>
<c-box>
<c-aspect-ratio-box max-w="560px" :ratio="1">
<c-box
as="iframe"
title="naruto"
src="https://www.youtube.com/embed/QhBnZ6NPOY0"
allow-full-screen
/>
</c-aspect-ratio-box>
</c-box>
</template>
<script>
import { CAspectRatioBox, CBox } from "@chakra-ui/vue";
export default {
components: {
CAspectRatioBox,
CBox,
},
};
</script>
We register the CAspectRatioBox component to add it.
Then we set the ratio prop to the aspect ratio we want.
max-w is the max-width of the container.
We add a c-box with the as prop set to iframe and src set to a YouTube video URL to embed a video.
To add an image, we can write:
<template>
<c-box>
<c-aspect-ratio-box max-w="560px" :ratio="1">
<c-image src="https://picsum.photos/200" alt="image" object-fit="cover" />
</c-aspect-ratio-box>
</c-box>
</template>
<script>
import { CAspectRatioBox, CBox, CImage } from "@chakra-ui/vue";
export default {
components: {
CAspectRatioBox,
CBox,
CImage,
},
};
</script>
We just put a c-image component inside the c-aspect-ratio-box to make the image maintain its aspect ratio.
Conclusion
We can add the c-aspect-ratio-box component to add a container than maintains the aspect ratio of the contents inside with Chakra UI Vue.