6

私はしばらくの間見回してきましたが、この問題の修正が見つからないようです。入力フィールドがモバイル サファリ (他のブラウザーをチェックしていない) でフォーカスを得ると、サファリがその要素を表示する (中心に近い) ため、固定要素がジャンプします。このエラーは、ユーザーがスクロールしたときにのみ発生し、ユーザーがまだページの上部にいる場合は何も発生しません。

前後のスクリーンショット

フォーカス前

フォーカス後

これを修正する方法を知っている人はいますか?私が遭遇した唯一の解決策は、焦点が合っているときにスクロールして一番上に戻り、次にぼかしてスクロールして元の位置に戻すことです...これは非常にずさんな解決策のようです。

これはスクリーンショットのサンプル サイトです。非常に基本的なもので、標準から外れるものは何もありません。

    <!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="utf-8" />
        <meta name="viewport" content="width=device-width, scale=1"/> 
    <title>MySite</title>
    <style>
    body{
        height:100%;
        width:100%;
        padding:0;
        margin:0;
        font-size:16px;
        font-family: "HelveticaNeue-Light", "Helvetica Neue Light", "Helvetica Neue", Helvetica, Arial, "Lucida Grande", sans-serif;
    }
    header, footer {
        background-color:#333;
        padding:10px;
        color:#FFF;
        width:100%;
    }
    header {
        position:fixed;
        top:0;
        left:0;

    }
    input[type=search] {
        position:relative;
        margin-left:20px;
        width:160px;
        font-size:16px;
        height:26px;
    }
    section{
        padding:10px;
    }
    </style>
</head>
<body>
<header>
<b>MySite</b>
<input type='search' placeholder='Search'>
</header>
<section>
<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</p>
<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</p>
</sction>
<footer>
&copy; MySite <?php echo date('Y') ?>
</footer>
</body>
</html>
4

1 に答える 1

1

同じ問題があります。しかし、私は固定位置が遅れているだけで壊れていないことに気付きました(少なくとも私にとっては)。スクロールして 5 ~ 10 秒待ち、検索バーが画面の上部に戻るかどうかを確認します。エラーではなく、キーボードを開いたときの反応が遅いのだと思います。

于 2013-06-24T21:17:07.900 に答える