「高さ」を設定すると「位置: スティッキー」が機能しないのはなぜですか?

Patricia Arquette
リリース: 2024-11-23 11:04:18
オリジナル
808 人が閲覧しました

Why Doesn't 'position: sticky' Work When Setting 'height'?

「height」の設定時に「position:sticky」が機能しない

お気づきのとおり、フッター要素に height プロパティを設定すると下にスクロールしたときにページの上部に貼り付くのを防ぎます。この動作は、スティッキー配置アルゴリズムの動作方法が原因で発生します。

CSS 仕様によれば、スティッキー要素は、その要素を含むブロックが指定されたしきい値を超えるまで、相対的に配置されたものとして扱われます。あなたの場合、含まれるブロックは body 要素であり、高さは 100% です。高さ 92% のメイン要素が下にスクロールされると、フッター要素はボディ要素の一番下に到達し、その要素を含むブロックの反対側の端にあると見なされます。したがって、スティッキーとして扱われなくなり、ページの下部に留まります。

この問題を解決するには、メイン要素から高さプロパティを削除します。これにより、フッター要素が意図したとおりにページの上部に固定されるようになります。あるいは、body 要素の height プロパティを 100% ではなく 100vh に設定することもできます。これにより、body 要素が常にビューポートと同じ高さになり、メイン要素の高さに関係なく、フッター要素がページの上部に固定されるようになります。

以上が「高さ」を設定すると「位置: スティッキー」が機能しないのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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