zoukankan      html  css  js  c++  java
  • webkit内核浏览器 手机端 滚动顿卡 处理方法

    今天遇到一个问题。因为之前也遇到过,解决了,但是一下子想不起来如何解决

    所以,今天就把这个记录一下。

    问题是这样:

    body下的一个容器 section 高度为100%  宽度为100%  

    即该 父类是和屏幕同宽同高的.但是 section 下的 子标签的 高度超过父标签  

    此时在手机端的滚动  有可能会滚动顿卡。这其实因为设备是没有启用弹性滚动,或者不支持弹性滚动。

    测试一下  

     1 <!DOCTYPE html>
     2 <html lang="en">
     3 <head>
     4     <meta charset="UTF-8">
     5     <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, minimum-scale=1, user-scalable=no">
     6     <title>滚动测试</title>
     7     <style>
     8         * {
     9             margin: 0;
    10         }
    11 
    12         html,body{
    13             height: 100%;
    14         }
    15 
    16         section {
    17             width: 100%;
    18             height: 100%;
    19             overflow: auto;
    20             -webkit-overflow-scrolling: touch;
    21         }
    22 
    23         section .app ul {
    24             list-style: none;
    25             padding: 0;
    26         }
    27 
    28         section .app li {
    29             height: 300px;
    30         }
    31 
    32         section .app li:nth-child(odd) {
    33             background: #98d;
    34         }
    35         section .app li:nth-child(even){
    36             background: #4d8;
    37         }
    38     </style>
    39 </head>
    40 <body>
    41     <section>
    42         <div class="app">
    43             <ul>
    44                 <li>1</li>
    45                 <li>2</li>
    46                 <li>3</li>
    47                 <li>4</li>
    48                 <li>5</li>
    49                 <li>6</li>
    50                 <li>7</li>
    51                 <li>8</li>
    52                 <li>9</li>
    53                 <li>10</li>
    54             </ul>
    55         </div>
    56     </section>
    57 </body>
    58 </html>

    用手机测试一下:

    解决办法  就是给 section 增加一个 

    -webkit-overflow-scrolling: touch;

    属性,就能解决该问题。但是,对于这个属性,developer.mozilla.org 给出的介绍是这样的:

    https://developer.mozilla.org/en-US/docs/Web/CSS/-webkit-overflow-scrolling

    他指出这个属性并不规范,并非所有的webkit内核浏览器都支持该属性,而且未来可能写法会改变。

    但是,没办法,只能先这么解决了。  相信未来会对这个属性进行规范的。

    加上这个属性之后的页面  

  • 相关阅读:
    selenium WebDriver 清空input的方式
    selenium 获取input输入框中的值的方法
    webdriver报不可见元素异常方法总结
    git踩过的坑
    what's the 数据结构
    算法进阶——贪心与动态规划
    what's the 二叉树
    算法基础——列表排序
    算法基础——列表查找
    Flask项目示例目录
  • 原文地址:https://www.cnblogs.com/wufengjie/p/4885644.html
Copyright © 2011-2022 走看看