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

[テクニック] content_html/css_WEB-ITnose をブロックするフローティング と の問題を解決するためのヒント

Jun 24, 2016 am 11:47 AM

はじめに

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

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

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

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 までご連絡ください。

ホット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衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

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

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

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

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

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

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

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

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

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

HTML、CSS、およびJavaScriptの理解:初心者向けガイド HTML、CSS、およびJavaScriptの理解:初心者向けガイド Apr 12, 2025 am 12:02 AM

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

WebアノテーションにY軸位置の適応レイアウトを実装する方法は? WebアノテーションにY軸位置の適応レイアウトを実装する方法は? Apr 04, 2025 pm 11:30 PM

Y軸位置Webアノテーション機能の適応アルゴリズムこの記事では、単語文書と同様の注釈関数、特に注釈間の間隔を扱う方法を実装する方法を探ります...

Giteeページ静的なWebサイトの展開に失敗しました:単一のファイル404エラーをトラブルシューティングと解決する方法 Giteeページ静的なWebサイトの展開に失敗しました:単一のファイル404エラーをトラブルシューティングと解決する方法 Apr 04, 2025 pm 11:54 PM

GiteEpages静的Webサイトの展開が失敗しました:404エラーのトラブルシューティングと解像度Giteeを使用する

CSS3とJavaScriptを使用して、クリック後に周囲の写真を散乱および拡大する効果を実現する方法は? CSS3とJavaScriptを使用して、クリック後に周囲の写真を散乱および拡大する効果を実現する方法は? Apr 05, 2025 am 06:15 AM

画像をクリックした後、散乱と周囲の画像を拡大する効果を実現するには、多くのWebデザインがインタラクティブな効果を実現する必要があります。特定の画像をクリックして周囲を作成してください...

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ページスタイルを制御します。

See all articles