検索
ホームページウェブフロントエンドhtmlチュートリアル[テクニック] content_html/css_WEB-ITnose をブロックするフローティング と の問題を解決するためのヒント

はじめに

今日のフロントエンド ページ、特にモバイル端末では、多くの場合、

または
モジュールを一時停止して、ページの位置を維持する必要があります。ページの上部、または下の図に示すように下部です。

「返信トピック」モジュールはページのフローティングに従い、ページの下部に一時停止されています コード構造は次のとおりです。

1 ...2 <section class='footer'>3     <div class='reply-topic'>回复主题</div>4 </section>5 ...

このような機能を実現するには、当然、position:fixed を使用する必要があります。ただし、position: fix の使用にはバグがあります。例として、下部のフローティング

を取り上げます (ページが下部にスライドすると、ページが外れてしまいます)。位置が固定されているため、通常のドキュメント フローが発生し、一部のコンテンツが見えにくくなります。以下に示すように:

上の左側が問題のある表示、右側が正常な表示です。では、この問題をどうやって解決すればよいでしょうか?ここで、より良い方法を模索したいと考えて、私の意見を3つ述べさせていただきます。

方法1. Javasrriptで解く

スライドしたらjsを使って解く。バーがページ コンテンツの下部にスライドし、本来ドキュメント フローから切り離される固定位置を、ドキュメント フローから切り離されないように変更します。ドキュメント ストリームの相対的な位置決めだけで十分です。

スクリプトを使用して問題を解決するのは最も困難な方法です。CSS を使用して問題を解決できる場合は、スクリプトを使用しないようにしてください。ただし、それでも方法です。

 1     //滚动条在Y轴上的滚动距离 2     function getScrollTop(){ 3           return document.body.scrollTop; 4     } 5     //文档的总高度 6     function getScrollHeight(){ 7  8           return document.body.clientHeight; 9     }10     //浏览器视口的高度11     function getWindowHeight(){12         var windowHeight = 0;13      if(document.compatMode == "CSS1Compat")14     {15        windowHeight = document.documentElement.clientHeight;16     }17     else18      {19       windowHeight = document.body.clientHeight;20     }21     return windowHeight;22     }23 24     //滑动监听25   window.onscroll = function(){26        //滑到底部时footer定于最下方,假定<footer>的height为6027        if((getScrollHeight() - getScrollTop() - getWindowHeight()) > 61)    28            $('.footer').css('position','fixed');        29        else30            $('.footer').css('position','relative');31     }

方法2. 本文にpadding-bottomを追加する

通常のドキュメントフローのコンテンツがpadding-bottom属性を生成するように、html

にpadding-bottom属性を追加します。ボディの底部で設定された距離。 欠点は、モジュールの再利用と、プロジェクト起動後にCSSファイルを頻繁にマージする必要があることを考慮すると、他のページがこのフローティングブロックを必要としない場合、
固定位置を必要としないページに負担がかかることです。この方法はお勧めできません。

1 //假定<footer>的高度为60px2 body 3 {4     padding-bottom: 60px; 5 }

方法 3. 同じレベルのプレースホルダー
を追加します

個人的には、この方法が最も実用的だと思います。

ブロックの外側に div のレイヤーをラップしてから追加します。
を持つ div は、同じレベルの
ブロックの高さに設定され、コンテンツを含めることはできません。ページ上のプレースホルダーの効果として、下部は
と同じ高さのスペースを占めます。もちろん、ページが下部にスライドすると、元の
ブロックがこのプレースホルダー ブロックと完全に重なります。他のページには影響しません。コードは次のとおりです: 唯一の欠点は、セマンティクスに準拠しておらず、実質的なコンテンツのない空のタグを追加することです。

 1 <!-- footer外包裹一层div--> 2 <div> 3     <!--充当占位符的div块,无实质内容 --> 4     <div style="height:60px;"></div>  5  6     <!--fixed悬浮出来的footer --> 7     <section class='footer'> 8         <div class='reply-topic'>回复主题</div> 9     </section>10 </div>    

以上、私が考えた3つの方法ですが、もし記事に間違いやもっと良い方法があれば教えていただければ幸いです。

声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
HTML、CSS、およびJavaScriptの理解:初心者向けガイドHTML、CSS、およびJavaScriptの理解:初心者向けガイドApr 12, 2025 am 12:02 AM

webdevelopmentReliesOnhtml、css、andjavascript:1)htmlStructuresContent、2)cssStylesit、および3)Javascriptaddsinteractivity、形成、

HTMLの役割:Webコンテンツの構造HTMLの役割:Webコンテンツの構造Apr 11, 2025 am 12:12 AM

HTMLの役割は、タグと属性を使用してWebページの構造とコンテンツを定義することです。 1。HTMLは、読みやすく理解しやすいようなタグを介してコンテンツを整理します。 2。アクセシビリティとSEOを強化するには、セマンティックタグなどを使用します。 3. HTMLコードの最適化により、Webページの読み込み速度とユーザーエクスペリエンスが向上する可能性があります。

HTMLとコード:用語を詳しく見るHTMLとコード:用語を詳しく見るApr 10, 2025 am 09:28 AM

htmlisaspecifictypeofcodefocuseduructuringwebcontent

HTML、CSS、およびJavaScript:Web開発者に不可欠なツールHTML、CSS、およびJavaScript:Web開発者に不可欠なツールApr 09, 2025 am 12:12 AM

HTML、CSS、およびJavaScriptは、Web開発の3つの柱です。 1。HTMLは、Webページ構造を定義し、などなどのタグを使用します。2。CSSは、色、フォントサイズなどのセレクターと属性を使用してWebページスタイルを制御します。

HTML、CSS、およびJavaScriptの役割:コアの責任HTML、CSS、およびJavaScriptの役割:コアの責任Apr 08, 2025 pm 07:05 PM

HTMLはWeb構造を定義し、CSSはスタイルとレイアウトを担当し、JavaScriptは動的な相互作用を提供します。 3人はWeb開発で職務を遂行し、共同でカラフルなWebサイトを構築します。

HTMLは初心者のために簡単に学ぶことができますか?HTMLは初心者のために簡単に学ぶことができますか?Apr 07, 2025 am 12:11 AM

HTMLは、簡単に学習しやすく、結果をすばやく見ることができるため、初心者に適しています。 1)HTMLの学習曲線はスムーズで簡単に開始できます。 2)基本タグをマスターして、Webページの作成を開始します。 3)柔軟性が高く、CSSおよびJavaScriptと組み合わせて使用​​できます。 4)豊富な学習リソースと最新のツールは、学習プロセスをサポートしています。

HTMLでの開始タグの例は何ですか?HTMLでの開始タグの例は何ですか?Apr 06, 2025 am 12:04 AM

Anexampleapalofastartingtaginhtmlis、それはaperginsaparagraph.startingtagsaresentionentientiontheyinitiateelements、definetheirtypes、およびarecrucialforurturingwebpagesandcontingthomedomを構築します。

CSSのフレックスボックスレイアウトを使用して、メニューの点線のラインセグメンテーション効果のセンターアラインメントを実現する方法は?CSSのフレックスボックスレイアウトを使用して、メニューの点線のラインセグメンテーション効果のセンターアラインメントを実現する方法は?Apr 05, 2025 pm 01:24 PM

メニューで点線のラインセグメンテーション効果を設計する方法は?メニューを設計するときは、通常、皿の名前と価格の間に左右に合わせることは難しくありませんが、真ん中の点線またはポイントはどうですか...

See all articles

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

MinGW - Minimalist GNU for Windows

MinGW - Minimalist GNU for Windows

このプロジェクトは osdn.net/projects/mingw に移行中です。引き続きそこでフォローしていただけます。 MinGW: GNU Compiler Collection (GCC) のネイティブ Windows ポートであり、ネイティブ Windows アプリケーションを構築するための自由に配布可能なインポート ライブラリとヘッダー ファイルであり、C99 機能をサポートする MSVC ランタイムの拡張機能が含まれています。すべての MinGW ソフトウェアは 64 ビット Windows プラットフォームで実行できます。

EditPlus 中国語クラック版

EditPlus 中国語クラック版

サイズが小さく、構文の強調表示、コード プロンプト機能はサポートされていません

SublimeText3 Linux 新バージョン

SublimeText3 Linux 新バージョン

SublimeText3 Linux 最新バージョン