すべて、iOS5を(サファリ)、バグ「の位置:固定」のdiv、そして背の高いフォーム
私は非常に含まれ、Webアプリケーションに取り組んでいる 『背の高い』フォームを(背の高いことで、それをそれは典型的な画面)よりも数百パーセント背が高いということを意味する。
をデザインに関係なく、フォーム内のユーザーの位置を、常に表示の画面の下部に固定「フッタ」のために呼び出します。
で言い換えれば、ユーザーがフォームの上部、中央、下部のいずれにあるかにかかわらずフッターを表示する必要があり、フォームはその下にスクロールする必要があります。
これを実装するには、position:fixed
とbottom:0
のdivとしてフッターを作成しました。
これはiOS5のSafariを含め、テストしたすべてのブラウザで完全に機能します。
ONEバグがあります除き...
ユーザーがフォームの上部付近で、テキストフィールドのいずれかにフォーカスを与えた場合は - 予想通り、iOSのキーボードを示しています。
ユーザーがクリックするたびに次のボタン、iOSが次のフィールドに「タブ」します。
を繰り返しクリックしてフォームを進めると、iOSはフォームを自動的に「スクロールアップ」して、フォーム上の自分の位置が表示されたままになります。
しかし、iOSでは、position:fixed
フッターdivの位置が更新されていないようです。フォームの残りの部分とともに誤ってスクロールします。
ユーザーがキーボードを閉じると、divは「適切な」場所に復元されるため、これは回復不可能なエラーではありません。しかし、フッターがまったく動いているという事実は目立つ問題です。
iOSの実装がposition:fixed
のバグですか?それとも、私が間違っていることがありますか?事前に
多くの感謝! http://remysharp.com/2012/05/24/issues-with-position-fixed-scrolling-on-ios/:
は[UPDATE]
レミーシャープは、(適切な名前)だけのiOS/Safariでposition:fixed
でバグや問題のさまざまな程度優れており、詳細な記事を書いています。それは私がposition:fixed
はもともとのiOSの初期のバージョンではサポートされていなかったことを知っている
Yinnette、それは素晴らしい解決策です。しかし、(私が誤解しない限り)それの問題は、身体のための固定された高さが必要であるということです。これは、ウィンドウをサイズ変更できる非iOSデバイスでは不可能です。 (また、iPhone 5の画面の高さが以前のモデルと異なっている可能性があるという噂もあります。これは、ボディセクションの高さを固定してはならないことを意味しています)JavaScriptを使用して、ウィンドウのサイズ変更イベント、それはかなりjankyを取得... – mattstuehler