横向滚动之white-space: nowrap 与padding-right 合用,padding-right失效问题解决方案

在项目中,前端通常有横向滚动的操作,且横向滚动条隐藏,通常的实现方式是div嵌套div, 代码如下:

<div className='wrapper'>
        <div className='content'>
          {
            filters.map((item, index) => {
              return (
                <span
                  key={index.toString()}
                  className='item'
                >
                  <div
                   className='txt'
                  >
                    {item}
                  </div>
                </span>
              );
            })
          }
        </div>
      </div>

初步思路:最外层div.wrapper设置width: 100%, 内层div.content设置display: flex, overflow-x: scroll, 子元素span.item设置padding,此时会发现文字会换行,此时,我们在div.txt上设置white-space: nowrap,换行问题就解决了,然后在div.content上设置

&::-webkit-scrollbar {

display: none;

} 横向滚动条消失了, 一切趋于完美, 但是随着在不同测试机上测试,会发现上面的方案是有问题的,经过我的测试,在众多测试机的浏览器上测试是ok的, 但是如果将页面嵌入到app中,发现在vivo上span.item的padding-right是失效的,经过大量查找资料,解决方案如下:只设置span.item的padding-left和right,去掉white-space, div.txt设置margin-left和right 即可

原因待更新

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值