ホームページ > ウェブフロントエンド > CSSチュートリアル > Chrome と Opera でアンカー リンクをクリックすると固定サイドバーが消えるのはなぜですか?

Chrome と Opera でアンカー リンクをクリックすると固定サイドバーが消えるのはなぜですか?

Patricia Arquette
リリース: 2024-10-26 03:58:02
オリジナル
238 人が閲覧しました

Why Do Fixed Sidebars Disappear When Clicking on Anchor Links in Chrome and Opera?

Google Chrome および Opera のアンカーと UL リストの位置の問題を修正

この記事は、Google Chrome および Opera ブラウザーで観察されるレンダリングの問題に対処しますページ内のアンカー リンクをクリックすると、固定位置のサイドバーが消える場合があります。 <UL>の存在は、ページ上の要素がこの問題を悪化させます。

Chrome の解決策

固定サイドバー要素に -webkit-transform: translationZ(0) プロパティを適用すると、Chrome でこの問題が解決されます。 。この手法は、3D 変換を行う際の再描画と CSS レンダリングの分離を利用して、表示の不具合を軽減します。

<code class="css">#sidebar {
    -webkit-transform: translateZ(0);
}</code>
ログイン後にコピー

Opera ソリューション

Opera でこの問題に対処するには、異なるアプローチ。 @keyframes アニメーションを使用して、レイアウトに影響を与えるものの、ページの外観には実質的な影響を与えない CSS プロパティの継続的な再描画を強制します。この場合、margin-bottom プロパティをアニメーション化します。

<code class="css">@keyframes noop {
  0%   { margin-bottom: 0; }
  100% { margin-bottom: 1em; }
}

#sidebar {
    animation: noop 1s infinite;
}</code>
ログイン後にコピー

このソリューションは完璧ではないことに注意することが重要です。場合によっては、サイドバーが位置を失い、すぐに再描画されると、短いちらつきが発生することがあります。この問題は、再描画間の Opera の固有の動作が原因です。

追加の考慮事項

その後のこのバグの発生により、3D 変換が既に適用されている場合に頻繁に発生することがわかりました。本体または親要素。この方法は、GPU レンダリングを強制するためによく使用され、永続的なレンダリングの問題を引き起こす可能性があります。上記のソリューションを実装する前に、既存の 3D 変換を削除することを検討してください。

Google Chrome と Opera は、安定性が向上して固定位置を処理できるようになりました。これらの修正は、ページ上での UL 要素の使用に関連するレンダリングの問題の解決に有効であることが実証されました。

以上がChrome と Opera でアンカー リンクをクリックすると固定サイドバーが消えるのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート