2023年6月20日发(作者:)

详解微信⼩程序scroll-view横向滚动的实践踩坑及隐藏其滚动条的实现⼀、实践踩坑项⽬使⽤mpvue开发1.

scroll-view默认是不滚动的。。所以要先设置scroll-x="true"或者scroll-y="true"2. 在scroll-view⾥⾯添加定宽元素,超过scroll-view宽度(设置了100%,即屏幕宽度)后,它竟然换⾏了。所以要scroll-view的样式要这样设置: scroll-view { width: 100%; white-space: nowrap; // 不让它换⾏ }3. 然后在定宽元素⾥边添加⼦容器:// html⼤概长这样

// css相应就⼤概长这样scroll-view { display: flex; flex-wrap: nowrap;}.tab-item { display: flex; justify-content: center; width: 25%; ...}然后发现.tab-item并没有排在⼀⾏上。。说明scroll-view和.tab-item都设置display: flex⽆效?⽆奈之下,只好在它外边再包⼀层,然后样式设置display: inline-block。此时正确姿势如下:// html
// css变成这样⼦scroll-view { width: 100%; white-space: nowrap; // 不让它换⾏}.tab-container { display: inline-block; width: 25%;}.tab-item { display: flex; flex-direction: column; align-items: center; ...}到这⾥,scroll-view就基本如我所愿了,⼤概长这样:⼆、隐藏滚动条在⽹上搜了很多,都是说加上这段代码就可以:/*隐藏滚动条*/::-webkit-scrollbar{ width: 0;

height: 0;

color: transparent;}或者有的⼈说这样⼦:/*隐藏滚动条*/::-webkit-scrollbar{ display: none;}然⽽两种⽅法我都试过,scroll-view的滚动条依然存在。。测试机型是安卓机⼦。但是⽤display: none这种⽅法是可以隐藏掉页⾯的滚动条的,就是scroll-view的滚动条没隐藏掉。后来,在⼩看到官⽅⼈员这样⼦解答:是的,就是这种野路⼦。当然 ,它下⾯的评论⾥也有⼈提供了另⼀种解决思路⽅法,但我还是选择了官⽅说的那种野路⼦⽅法。实现思路就是,在scroll-view外边再包⼀个容器,它的⾼度⼩于scroll-view的⾼度,这样就会截掉滚动条,达到隐藏了滚动条的效果。// -view-container { // 包裹scroll-view的容器 height: $fakeScrollHeight; overflow: hidden; // 这个设置了就能截掉滚动条啦 scroll-view { width: 100%; white-space: nowrap; } } .tab-container { // 我这⾥是⽤.tab-container来撑开scroll-view的⾼度,所以⾼度在它上⾯设置,加上padding,那么它就会⽐外层容器(.scroll-view-container)要⾼ display: inline-block; width: 26%; height: $fakeScrollHeight; padding-bottom: $scrollBarHeight; }⼤概意思是这样:以上就是本⽂的全部内容,希望对⼤家的学习有所帮助,也希望⼤家多多⽀持。

2023年6月20日发(作者:)

详解微信⼩程序scroll-view横向滚动的实践踩坑及隐藏其滚动条的实现⼀、实践踩坑项⽬使⽤mpvue开发1.

scroll-view默认是不滚动的。。所以要先设置scroll-x="true"或者scroll-y="true"2. 在scroll-view⾥⾯添加定宽元素,超过scroll-view宽度(设置了100%,即屏幕宽度)后,它竟然换⾏了。所以要scroll-view的样式要这样设置: scroll-view { width: 100%; white-space: nowrap; // 不让它换⾏ }3. 然后在定宽元素⾥边添加⼦容器:// html⼤概长这样

// css相应就⼤概长这样scroll-view { display: flex; flex-wrap: nowrap;}.tab-item { display: flex; justify-content: center; width: 25%; ...}然后发现.tab-item并没有排在⼀⾏上。。说明scroll-view和.tab-item都设置display: flex⽆效?⽆奈之下,只好在它外边再包⼀层,然后样式设置display: inline-block。此时正确姿势如下:// html
// css变成这样⼦scroll-view { width: 100%; white-space: nowrap; // 不让它换⾏}.tab-container { display: inline-block; width: 25%;}.tab-item { display: flex; flex-direction: column; align-items: center; ...}到这⾥,scroll-view就基本如我所愿了,⼤概长这样:⼆、隐藏滚动条在⽹上搜了很多,都是说加上这段代码就可以:/*隐藏滚动条*/::-webkit-scrollbar{ width: 0;

height: 0;

color: transparent;}或者有的⼈说这样⼦:/*隐藏滚动条*/::-webkit-scrollbar{ display: none;}然⽽两种⽅法我都试过,scroll-view的滚动条依然存在。。测试机型是安卓机⼦。但是⽤display: none这种⽅法是可以隐藏掉页⾯的滚动条的,就是scroll-view的滚动条没隐藏掉。后来,在⼩看到官⽅⼈员这样⼦解答:是的,就是这种野路⼦。当然 ,它下⾯的评论⾥也有⼈提供了另⼀种解决思路⽅法,但我还是选择了官⽅说的那种野路⼦⽅法。实现思路就是,在scroll-view外边再包⼀个容器,它的⾼度⼩于scroll-view的⾼度,这样就会截掉滚动条,达到隐藏了滚动条的效果。// -view-container { // 包裹scroll-view的容器 height: $fakeScrollHeight; overflow: hidden; // 这个设置了就能截掉滚动条啦 scroll-view { width: 100%; white-space: nowrap; } } .tab-container { // 我这⾥是⽤.tab-container来撑开scroll-view的⾼度,所以⾼度在它上⾯设置,加上padding,那么它就会⽐外层容器(.scroll-view-container)要⾼ display: inline-block; width: 26%; height: $fakeScrollHeight; padding-bottom: $scrollBarHeight; }⼤概意思是这样:以上就是本⽂的全部内容,希望对⼤家的学习有所帮助,也希望⼤家多多⽀持。