【scroll-view】组件【scroll-x】设置为true后仍然不能横向滑动的问题
发布于 3 年前 作者 cuifang 1307 次浏览 来自 分享

过程和现象

本来以为直接使用__scroll-view__构造横向滑动 scroll-x__设置为__true 并且给一个固定宽度就可以了 但事实并没有那么简单

首先遇到的问题是所有的子元素自动换行了!
给所有子元素加上 inline-block 或 inline-flex 嗯 好多了

但是在所有子元素的宽度相加超过一行的情况下 每个子元素的下级元素还是会换行 也就是说 现在父元素__scroll-view__的宽度是固定宽度 而且允许换行

最后 给父元素也就是__scroll-view__组件加一个 white-space: nowrap 不允许内容或子元素换行 OK完成了!

总结结论

达到横向滑动的条件

1.父元素scroll-view有固定宽度 scroll-x__设置为__true
2.scroll-view 不允许内容或子元素换行 设置css属性 white-space: nowrap
3.子元素设置为行内元素
4.如果子元素还有下级元素的话 保证子元素的下级元素也保持在子元素预置的区域内 如果子元素下面还有多个多级元素 可以尝试用inline-flex或其他方法令其不换行 不超出元素范围

其实 swiper也可以实现横向滑动 但是占滑动距离固定 而且swiper配置也比较麻烦 占用资源多没必要大材小用

1 回复

scroll-view 设置 display: flex; 子元素设置 flex: auto 1 0; 即可

回到顶部