当前位置:  开发笔记 > 前端 > 正文

固定div内的'overflow-x:scroll'可防止ios上的垂直滚动

如何解决《固定div内的'overflow-x:scroll'可防止ios上的垂直滚动》经验,为你挑选了1个好方法。

看起来如果你有一个带水平滚动的div,在一个固定的div内,它会阻止IOS上的垂直滚动.IE - 如果我通过将手指放在水平滚动div上开始滚动,并尝试垂直滚动,则没有任何反应.

似乎对我的同事Andriod设备没问题.

我创建了一个测试用例,在这里演示了这个问题:

http://jsbin.com/jikatugeli/

这是html




  
  
    

I'm some other content

hi
hi
hi
hi
hi
hi
hi
hi
hi
hi
hi
hello there, I am some text to make things scrollable

这是css

p {
  font-size:22px;
}

.item {
  display:inline-block;
  width:80px;
    height:60px;
  font-size:78px;
}

.scrollable {
  width:350px;
  white-space: nowrap;
  overflow-x:scroll;
  overflow-y:hidden;
}

.pop-up {
  position:fixed;
  height:300px;
  background:red;
  border: 1px solid #000;
  width:100%;
  top:0;
  overflow-y:scroll;
  z-index:9999;
}

.somemoretext {
  padding-top:600px;
}

谢谢你的帮助.



1> 小智..:

以下css修复了您的问题

html,body{height:100%}
body{background:red}
p {
  font-size:22px;
}

.item {
  display:inline-block;
  width:80px;
    height:60px;
  font-size:78px;
}

.scrollable {
  width:350px;
  white-space: nowrap;
  overflow-x:scroll;
  overflow-y:hidde;
  position: relative;
  -webkit-transform: translateZ(0);
}

.pop-up {
  position:fixed;
  height:300px;
  background:blue;
  border: 1px solid #000;
  width:100%;
  top:0;
  overflow-y:scroll;
  z-index:9999;
  -webkit-overflow-scrolling: touch;
}

.somemoretext {
  padding-top:600px;
}

包含-webkit-的行是在Safari中进行滚动工作的关键.
在.pop-up DIV中你需要overflow-y:scroll和-webkit-overflow-scrolling:touch来强制滚动.在.scrollableyou需要-webkit-transform:tranzlateZ(0); 要上下移动实际的html内容,其他方面DIV会滚动但溢出的内容不会显示.


在我的情况下,我还必须将`-webkit-overflow-scrolling:touch;`添加到body元素,因为它也使用overflow-x:hidden.希望它能为某人节省一些时间.
推荐阅读
360691894_8a5c48
这个屌丝很懒,什么也没留下!
Tags | 热门标签
RankList | 热门文章
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有