【VUE微信_服务号】5.解决H5页面IOS下横向滚动条无法隐藏的问题

最近做项目需要实现一个横向滚动卡片的效果,因为项目是用vue搭建的,想着找一个vue的第三方插件,也没有合适的,于是仔细想了想,其实简单的css也能实现这个效果,而且效果也很好。

大致实现这个功能的方法,就是隐藏横向滚动条,按照以往的做法添加伪类,如下代码

::webkit-scrollbar {
    display: none;
}

这一种方式在微信Android上是没有问题的,但是在微信IOS客户端webview下H5页面横向滚动条不隐藏,后来查了一下:

微信webview内核由UIWebView升级到新内核WKWebView后,就不生效了
问题分析:只要添加了 -webkit-overflow-scrolling: touch 平滑滚动属性,隐藏滚动条样式就会失效。

新的思路:

把滚动条撑开,然后通过负值的外边距抵消撑开的部分,使得外容器高度不受影响,从而大到滚动条溢出隐藏

具体实现代码: 

<template>
    <div class="test">
      <div id="slide-swapper">
        <div class="slide-content1">横向滑块1</div>
        <div class="slide-content1">横向滑块2</div>
        <div class="slide-content1">横向滑块3</div>
        <div class="slide-content1">横向滑块4</div>
        <div class="slide-content1">横向滑块5</div>
      </div>
    </div>
</template>

<script>
    export default {
      data() {
        return {
          name: 'Test',
        };
      },
    };
</script>

<style scoped lang="stylus">
  .test
    overflow hidden
    #slide-swapper
      width 750px
      height 400px
      margin-top 200px
      display -webkit-box
      box-sizing border-box
      overflow-x scroll
      overflow-y hidden
      // 使滑动流畅
      -webkit-overflow-scrolling touch
      -ms-overflow-style none
      overflow -moz-scrollbars-none
      // 滚动条撑开 隐藏滚动条
      padding-bottom 20px
      margin-bottom -20px
      background #01a605
      .slide-content1
        width 200px
        height 200px
        color #000000
        line-height 200px
        text-align center
        margin-top 100px
        margin-left 20px
        background #ff0000
    // 以前的做法:隐藏滚动条
    #slide-swapper::-webkit-scrollbar
      background-color transparent
      display none
</style>

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值