-webkit-overflow-scrolling: touc

2018-12-04  本文已影响0人  Mr老朝

出现黑色背景原因:

对于设置了-webkit-overflow-scrolling的元素,原生会创建一个UIScrollView,在UIScrollView上一层会生成一个WKCompositingView,我们看到的黑色正是这个WKCompositingView的颜色。
WKCompositingView的颜色由-webkit-overflow-scrolling元素和-webkit-overflow-scrolling元素的子元素决定。
要出现黑色背景的条件:
1、-webkit-overflow-scrolling元素设置了背景色。
2、-webkit-overflow-scrolling元素有包围功能的子元素,并且设置了背景色。
3、ios11及以下
4、-webkit-overflow-scrolling元素的子元素超出-webkit-overflow-scrolling元素范围,可以滚动起来。
例如下面的代码:

#app{
  height: 100px;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  background: blue;
}

#page{
  background: red;
}
.content{
  height: 70px;
}
<div id="app">
  <div id="page">
    <div class="content">1</div>
    <div class="content">2</div>
  </div>
</div>
或者
<div id="app">
  <div>
    <div id="page">
      <div class="content">1</div>
      <div class="content">2</div>
    </div>
  </div>
</div>

下拉就会出现黑底问题:


menu.saveimg.savepath20181204174630.jpg

解决方法:

方法有:
1、#app,#page的background删掉一个就好;
2、删除#app的background,把background设置为#app的父元素。

上一篇 下一篇

猜你喜欢

热点阅读