这个想法源于最近自己在开发一个移动端博客的一个底部导航栏,原型设计如下:
我们来分析一下这个导航栏,其实很简单啦,就是自适应固定在底部
我们可以使用CSS3属性display:flex设置父级盒子为伸缩盒子模型,子元素设置flex:1自适应大小。
html布局如下
<template>
<div class="footer">
<div v-for='(item,index) of items' :key="index" :class='[item.cls,{on:index === idx}]' @click="change(item,index)">
<img :src="index===idx?item.srcSelect:item.src" v-if="showIconOrSrc">
<i :class="index===idx?item.iconSelect:item.icon" v-if="!showIconOrSrc"></i>
<span :class="['colorChange',{on:index===idx}]" >{
{item.name}}</span>
</div>
</div>
</template>
样式如下:
&