• 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内核浏览器都支持该属性,而且未来可能写法会改变。

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

    加上这个属性之后的页面  

  • 相关阅读:
    程序员:不要自称为码农
    SpringBoot对静态资源配置
    LeetCode 572. Subtree of Another Tree(子树)
    LeetCode 437. Path Sum III(统计路径和等于sum的路径数量)
    LeetCode 112. Path Sum(判断路径和是否等于一个数)
    LeetCode 617. Merge Two Binary Trees(归并两棵二叉树)
    LeetCode 226. Invert Binary Tree(翻转二叉树)
    Failure to transfer org.apache.maven.plugins:maven-resources-plugin:pom:2.6 的解决办法
    linux-查询某软件的安装的目录
    WebService概念解释
  • 原文地址:https://www.cnblogs.com/wufengjie/p/4885644.html
Copyright © 2020-2023  润新知