固定div内的'overflow-x:scroll'可防止ios上的垂直滚动
作者:360691894_8a5c48 | 2023-09-07 10:44
如何解决《固定div内的'overflow-x:scroll'可防止ios上的垂直滚动》经验,为你挑选了1个好方法。
看起来如果你有一个带水平滚动的div,在一个固定的div内,它会阻止IOS上的垂直滚动.IE - 如果我通过将手指放在水平滚动div上开始滚动,并尝试垂直滚动,则没有任何反应.
似乎对我的同事Andriod设备没问题.
我创建了一个测试用例,在这里演示了这个问题:
http://jsbin.com/jikatugeli/
这是html
I'm some other content
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.希望它能为某人节省一些时间.