Chromeで固定要素が消える
質問
私が作ったウェブサイトで、スクロールするときにCSSプロパティ
position: fixed
を使用すると、ページの最上部にナビゲーション バーを維持するために期待どおりに機能します。
しかし、Chrome では、ナビゲーション バーのリンクを使用すると、それは ときどき が消えます。通常は、クリックした項目は表示されたままですが、いつもそうとは限りません。全体が消えてしまうこともあります。マウスを動かすと要素の一部が戻り、スクロールホイールや矢印キーで1クリックだけスクロールすると要素が戻ってきます。この現象は、(断続的に)以下のサイトで見ることができます。 https://nikeplusphp.charanj.it - をクリックすると、ナビゲーション リンクのいくつかを数回クリックする必要があるかもしれません。
私はまた、z-indexと可視性/表示タイプで遊んでみましたが、うまくいきません。
私は この質問 を見つけましたが、その修正は私のためにまったく機能しませんでした。IEとFirefoxは問題なく動作するので、webkitの問題であるように思われます。
これは既知の問題なのでしょうか、それとも固定要素を表示し続けるための修正があるのでしょうか。
更新しました。
を持つ要素にのみ効果があります。
top: 0;
を持つ要素にしか効果がありません。
bottom: 0;
を試してみたところ、期待通りに動作しました。
どのように解決するのですか?
これはまだ解決されていない webkit の問題で、奇妙なことに JavaScript でジャンプを行い、むしろ
#
の url 値を使用するのではなく、JavaScript でジャンプしても問題は発生しません。この問題を克服するために、私は、アンカー値を取り、その ID を持つ要素の絶対位置を見つけ、そこにジャンプする JavaScript バージョンを提供しました。
var elements = document.getElementsByTagName('a');
for(var i = 1; i < elements.length; i++) {
elements[i].onclick = function() {
var hash = this.hash.substr(1),
elementTop = document.getElementById(hash).offsetTop;
window.scrollTo(0, elementTop + 125);
window.location.hash = '';
return false;
}
}
これをさらに改良して、リンクの先頭が
#
で始まるリンクだけを探すようにすることもできます。
a
タグではなく
関連
-
[CSSチュートリアル】カットコーナー+ボーダー+プロジェクション+コンテンツ背景色のグラデーション効果を実現するCSS
-
[CSSチュートリアル】新しいCSS:whereと:is擬似クラス関数とは?
-
[CSSチュートリアル】擬似要素で実現する中空三角矢印とXアイコンの例
-
[CSSチュートリアル】background-positionプロパティのパーセンテージ値の使い方を探る
-
[解決済み] 要素を水平方向にセンタリングする方法
-
[解決済み] 最初の要素にクラスを指定するCSSセレクタ
-
[解決済み] 位置は固定だが、容器に対して相対的
-
[解決済み] 入力テキスト要素のボーダーハイライトを削除する方法
-
[解決済み] モバイルブラウザでCSS3 100vhが一定でない
-
[解決済み】CSSを使用して、すべてのブラウザでdiv要素を垂直方向に中央に配置するにはどうすればよいですか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[CSSチュートリアル】よくある2D変換を5つ実現するCSS
-
[CSSチュートリアル]z-indexの違い。cssのz-index: 0とz-index: autoの違い。
-
[css3]css3はtransform-originを使用して、大きな円上のドット分布のレイアウトと回転を実現します。
-
[CSSチュートリアル】ネイティブCSSでテキストの無制限回転を実現する汎用的な方法
-
[CSSチュートリアル]CSS気まぐれボーダーアニメーション効果
-
[CSSチュートリアル】擬似要素で実現する中空三角矢印とXアイコンの例
-
[CSSチュートリアル】CSSでマウスの位置をマッピングし、マウスの動きでページ要素を制御する効果を実現する(コード例)
-
[css3]CSS3遷移回転遠近法2D3Dアニメーションなどの効果を持つサンプルコード
-
[解決済み] ページヘッダーがページ内アンカーに重なるのを修正しました。
-
[解決済み] transform3d」がposition: fixed childrenで動作しない。