在做swiper的时候,有三层div,如图
层级关系为sti_slider为显示的整个宽度,sti_items为放着所有str_slide的宽度,因为继承了sti_slider的宽度,因此只需要计算子元素个数*100即可,sti_slide 需要同sti_slider宽度相同。
第一层是整个大div,我规定宽度为整个页面的80%;第二层是放着所有item的div,里面有n个 滑块宽度就要为n100%,由于我用的是vue,可以由 :style="{width : 100XX.length+’%’} 实现
在设置最后一层div的时候本想用 :style="{width : 100/XX.length+’%’} 再除回来。。
但是采用的swiper插件会动态改变行内的style宽度,因此不能用这个方法,在一番尝试之后,发现display:flex可以完美解决这个问题,只需要对sti_items添加这一句css,就可以解决。