V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
rabbbit
V2EX  ›  问与答

[前端问题]关于移动端 Chrome 地址栏上移

  •  
  •   rabbbit · 2019-04-04 11:19:27 +08:00 · 798 次点击
    这是一个创建于 1998 天前的主题,其中的信息可能已经有所发展或是发生改变。

    大家都知道在移动端上划页面时,顶部的地址栏也会跟着上去.一般可以用如下样式固定地址栏:

    html,body {
      height: 100%;
      overflow:hidden;
    }
    

    但是我发现在 chrome(android 73)下某些可滚动(overflow-y:scroll)的 fixed 元素依然可以触发地址栏上移.

    .fixed-el {
      overflow-y: scroll;
      position: fixed;
    }
    

    更奇怪的是,如果给这个 fixed 加上 opactiy: 0.999, 则可以阻止地址栏的上移.
    起初以为是因为 opactiy 生成了合成层,但是换成 translate3d 就没有效果.

    .fixed-el {
      overflow-y: scroll;
      position: fixed;
      opactiy: 0.999;
    }
    

    问题:
    1 为什么在外层(body,html)固定的情况下, 某些 fixed 元素(有样式 overflow-y: scroll)可以触发地址栏上移. 这是 feature 还是 bug?
    2 如果是 feature 的话,为什么 opactiy 能阻止地址栏上移.

    第 1 条附言  ·  2019-04-04 12:03:33 +08:00
    已解决,结贴
    第 2 条附言  ·  2019-04-04 12:24:52 +08:00
    下面这两个样式也能解决这个问题
    transform: translate3d(0,1px,0)
    transform: translate3d(1px,0,0)

    但是 transform: translate3d(0,0,1px)不行
    目前尚无回复
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2486 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 26ms · UTC 11:43 · PVG 19:43 · LAX 04:43 · JFK 07:43
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.