V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
推荐关注
Meteor
JSLint - a JavaScript code quality tool
jsFiddle
D3.js
WebStorm
推荐书目
JavaScript 权威指南第 5 版
Closure: The Definitive Guide
lostab
V2EX  ›  JavaScript

请教一个前端问题,困扰很久了

  •  
  •   lostab · 2015-11-24 08:39:58 +08:00 via iPhone · 3541 次点击
    这是一个创建于 3285 天前的主题,其中的信息可能已经有所发展或是发生改变。
    前端不在行,这个问题 Google 了很久没有头绪,只好请教各位大神了。
    简单说,就是移动版 web 页面,设置了 header 块级元素为 position:fixed ,这样拖动页面上下滚动就会一直浮在最顶部。
    但是问题出在部分移动浏览器上,比如 iOS 7 上的 Safari ,当页面已经滚动到最顶部时,继续下拖,即往上滚动页面时,整个页面会被“拖拽”下来,包括浮动的 header ,上面出来一个灰色的背景。
    而类似 iOS8 上貌似就不会。
    有没有办法能规避这种情况呢?
    手机没法传图,回头补一张图更直观。
    第 1 条附言  ·  2015-11-24 12:42:35 +08:00
    多谢各位,晚上回去试试
    12 条回复    2015-11-25 23:13:04 +08:00
    v1024
        1
    v1024  
       2015-11-24 08:43:02 +08:00 via iPhone
    把网页的主体部分再放到一个 overflow : Scroll 的层里,这样拖拽的就是这个层里面的内容而不是整个网页。
    66beta
        2
    66beta  
       2015-11-24 09:04:21 +08:00
    慎用 fixed ,有输入框的时候,框都要被它挡住的
    ljcarsenal
        3
    ljcarsenal  
       2015-11-24 09:05:01 +08:00
    在 head 里加入 <meta name="viewport" content="width=device-width,target-densitydpi=high-dpi,initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=no"/>试试呢
    LucasW
        5
    LucasW  
       2015-11-24 09:52:33 +08:00
    html, body{
    height:100%;
    position:relative;
    -webkit-overflow-scrolling: touch;
    }
    header {
    position:absolute;
    top:0;
    left:0
    }
    hkongm
        6
    hkongm  
       2015-11-24 10:26:05 +08:00   ❤️ 1
    focus 时, fixed 改为 absolute
    原生键盘影响了定位

    我们的做法:不在有 input 的情况下设计 fixed 元素,列为规范

    小 tip : position:-webkit-sticky;
    hqs123
        7
    hqs123  
       2015-11-24 10:27:39 +08:00
    楼主 php 功力有待加强啊...
    datou552211
        8
    datou552211  
       2015-11-24 10:34:23 +08:00 via iPhone
    @hqs123 php ?
    DIYgod
        9
    DIYgod  
       2015-11-24 15:55:34 +08:00
    @hqs123 哈哈哈哈什么鬼
    JerryZou
        10
    JerryZou  
       2015-11-24 16:00:39 +08:00   ❤️ 1
    lostab
        11
    lostab  
    OP
       2015-11-25 21:36:26 +08:00
    @JerryZou Good ,这个方法的确规避了这个很恶心的情况,虽然还不是太完美(下拉的时候没有任何回弹效果了)。
    JerryZou
        12
    JerryZou  
       2015-11-25 23:13:04 +08:00
    @lostab 是啊,我以前尝试解决这个问题也没找到什么很好的办法。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1013 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 20:02 · PVG 04:02 · LAX 12:02 · JFK 15:02
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.