Awesome
VueFlex
A flexbox grid system.
demo
setup
npm
npm install @seregpie/vueflex
Register the components globally.
import Vue from 'vue';
import VueFlex from '@seregpie/vueflex';
Vue.use(VueFlex);
or
Register the components in the scope of another component.
import VueFlex from '@seregpie/vueflex';
export default {
components: {
[VueFlex.Box.name]: VueFlex.Box,
[VueFlex.Item.name]: VueFlex.Item,
},
};
browser
<script src="https://unpkg.com/vue"></script>
<script src="https://unpkg.com/@seregpie/vueflex"></script>
If Vue is detected, the components are registered automatically.
usage
<vue-flex-box
align-items="center"
gap="16px"
justify-content="space-between"
wrap
>
<vue-flex-item><!--...--></vue-flex-item>
<vue-flex-item><!--...--></vue-flex-item>
</vue-flex-box>
Nested boxes can inherit the gap from their parent.
<vue-flex-box gap="8px">
<vue-flex-item
style="width: 100px;"
><!--...--></vue-flex-item>
<vue-flex-box
direction-column
gap="inherit"
style="flex-grow: 1;"
>
<vue-flex-item><!--...--></vue-flex-item>
<vue-flex-item><!--...--></vue-flex-item>
</vue-flex-box>
</vue-flex-box>
Provide any unit for the gap.
<vue-flex-box gap="2em"><!--...--></vue-flex-box>
components
VueFlexBox
properties
property | type | default |
---|---|---|
alignContent | String | 'stretch' |
alignItems | String | 'stretch' |
directionColumn | Boolean | false |
gap | String | '0px' |
justifyContent | String | 'flex-start' |
reverseDirection | Boolean | false |
reverseWrap | Boolean | false |
tag | String | 'div' |
wrap | Boolean | false |
VueFlexItem
properties
property | type | default |
---|---|---|
tag | String | 'div' |