ホームページ ウェブフロントエンド H5 チュートリアル フローティングレイヤー(フローティングヘッダー、フッター)がモバイル端末のコンテンツをブロックする問題を解決する3つの方法_html5チュートリアルスキル

フローティングレイヤー(フローティングヘッダー、フッター)がモバイル端末のコンテンツをブロックする問題を解決する3つの方法_html5チュートリアルスキル

May 16, 2016 pm 03:46 PM
携帯端末

今日のフロントエンド ページ、特にモバイル デバイスでは、ページのスライド後に

または
モジュールを一時停止して、ページの上部または下部に配置しておく必要があることがよくあります。 , 図に示すように。

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


コードをコピーします
コードは次のとおりです:

...

...

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

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

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

方法 1. Javasrript ソリューション

js を使用して問題を解決します。スライダーがページ コンテンツの下部にスライドしたときに、本来ドキュメント フローから外れる固定位置を、ドキュメント フローから外れない相対位置に変更します。

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

コードをコピーします
コードは次のとおりです:

// のスクロール バーY 軸のスクロール距離
function getScrollTop(){
return document.body.scrollTop;
}
//ドキュメントの合計の高さ
function getScrollHeight(){

Return document.body.clientHeight;
}
//ブラウザのビューポートの高さ
function getWindowHeight(){
var windowHeight = 0;
if(document.compatMode == "CSS1Compat")
{
windowHeight = document.documentElement.clientHeight;
}
else
{
🎜 > Return windowHeight;
}

//スライド監視
window.onscroll = function(){
//下にスライドすると、

の高さが 60< であると仮定して、フッターが下に設定されます。 🎜> if((getScrollHeight () - getScrollTop() - getWindowHeight()) > 61)
$('.footer').css('position','fixed')
else
$('.footer' ).css('position','relative');
}



方法 2. ボディにpadding-bottom を追加します

html タグに padding-bottom 属性を追加し、通常のドキュメント フローのコンテンツが本文の下部から padding-bottom で設定された距離になるようにします。

欠点は、モジュールの再利用と、プロジェクトの起動後に頻繁に CSS ファイルをマージする必要があることを考慮すると、他のページがこのフローティング ブロックを必要としない場合、
固定位置を必要としないページに負担がかかることです。 、この方法の使用はお勧めしません。



コードをコピーします
コードは次のとおりです:
//高さを想定します<フッター> は 60 ピクセルです
ボディ
{
パディングボトム:
}



方法 3. 兄弟プレースホルダーを追加

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

ブロックの外側に div のレイヤーをラップし、この
の高さに
ブロックを追加します。 ;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衣類リムーバー

AI Hentai Generator

AI Hentai Generator

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

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

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

SublimeText3 中国語版

SublimeText3 中国語版

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

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

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

Vueモバイル端末のマルチタッチポイントの問題を解決 Vueモバイル端末のマルチタッチポイントの問題を解決 Jun 30, 2023 pm 01:06 PM

モバイル開発では、複数指のタッチの問題によく遭遇します。ユーザーがモバイル デバイス上で複数の指を使用して画面をスワイプまたはズームする場合、これらのジェスチャをどのように正確に認識して応答するかは、開発上の重要な課題です。 Vue 開発では、モバイル端末の複数指タッチの問題を解決するためにいくつかの対策を講じることができます。 1. vue-touch プラグインを使用する vue-touch は、モバイル側で複数指のタッチ イベントを簡単に処理できる Vue 用のジェスチャ プラグインです。 npm 経由で vue-to をインストールできます

Vue プロジェクトでモバイル ジェスチャ操作を使用する方法 Vue プロジェクトでモバイル ジェスチャ操作を使用する方法 Oct 08, 2023 pm 07:33 PM

Vue プロジェクトでモバイル ジェスチャ操作を使用する方法 モバイル デバイスの普及に伴い、モバイル端末上でよりフレンドリーなインタラクティブ エクスペリエンスを提供する必要があるアプリケーションがますます増えています。ジェスチャー操作はモバイルデバイスで一般的なインタラクション方法の 1 つで、ユーザーが画面にタッチするだけでスライドやズームなどのさまざまな操作を完了できるようになります。 Vue プロジェクトでは、サードパーティ ライブラリを通じてモバイル ジェスチャ操作を実装できます。以下では、Vue プロジェクトでのジェスチャ操作の使用方法と具体的なコード例を紹介します。まず、特別な機能を導入する必要があります

Vue開発におけるモバイル端末のダブルクリック増幅問題を解決する方法 Vue開発におけるモバイル端末のダブルクリック増幅問題を解決する方法 Jun 29, 2023 am 11:06 AM

モバイル デバイスの普及に伴い、モバイル開発に Vue を使用することが一般的な選択肢になりました。ただし、モバイル開発中には、ダブルクリックしてズームインするという問題に直面することがよくあります。この記事では、この問題に焦点を当て、Vue 開発におけるモバイル端末でのダブルクリック増幅の具体的な解決方法について説明します。モバイル デバイスでのダブルクリック拡大の問題は、主に、タッチ スクリーンをダブルクリックすると、モバイル デバイスが Web ページのズーム率を自動的に拡大するために発生します。一般的な Web 開発では、この種のダブルクリックによる拡大は通常有益です。

PythonとBaidu Map APIを使用してモバイル地図位置測位機能を実装する方法 PythonとBaidu Map APIを使用してモバイル地図位置測位機能を実装する方法 Jul 29, 2023 pm 11:33 PM

Python と Baidu Map API を使用してモバイル地図位置測位機能を実装する方法 モバイル インターネットの発展に伴い、地図位置測位機能はモバイル アプリケーションでますます一般的になりました。人気のプログラミング言語である Python は、Baidu Map API を使用してモバイル マップの位置情報機能を実装することもできます。以下では、Python と Baidu Map API を使用して地図位置決め機能を実装する手順と、対応するコード例を紹介します。ステップ 1: Baidu Map API キーを申請する 開始する前に、まず申請する必要があります。

Vue 開発: モバイル端末でのジェスチャー スケーリングの問題の最適化 Vue 開発: モバイル端末でのジェスチャー スケーリングの問題の最適化 Jun 30, 2023 pm 04:33 PM

Vue 開発におけるモバイル ジェスチャ ズーム ページのスタック問題の解決方法 近年、モバイル アプリケーションの普及により、ジェスチャ操作はユーザー インタラクションの重要な方法となっています。 Vue 開発では、モバイル端末にジェスチャー ズーム機能を実装する際に、ページ ラグの問題がよく発生します。この記事では、この問題を解決する方法を検討し、いくつかの最適化戦略を提供します。ジェスチャー スケーリングの原理を理解する 問題を解決する前に、まずジェスチャー スケーリングの原理を理解する必要があります。ジェスチャー ズームはタッチ イベントをリッスンすることで実装され、ユーザーが 2 本の指で画面をスライドすると、ページも指のスライドの動きに追従します。

PHP フォームでモバイルおよびレスポンシブ デザインを処理する方法 PHP フォームでモバイルおよびレスポンシブ デザインを処理する方法 Aug 10, 2023 am 11:51 AM

PHP フォームでモバイルおよびレスポンシブ デザインに対処する方法: モバイル デバイスの人気と頻度が増加し、モバイル デバイスを使用して Web サイトにアクセスするユーザーが増えているため、モバイルへの適応が重要な問題になっています。 PHP フォームを扱うときは、モバイル フレンドリーなインターフェイスとレスポンシブ デザインを実現する方法を考慮する必要があります。この記事では、PHP フォームでモバイルおよびレスポンシブ デザインを処理する方法を説明し、コード例を示します。 1. HTML5 を使用したレスポンシブ フォーム HTML5 は、レスポンシブ フォームを簡単に実装できるいくつかの新機能を提供します。

Vue モバイル端末でのクリック浸透の問題を解決するソリューション Vue モバイル端末でのクリック浸透の問題を解決するソリューション Jul 01, 2023 am 08:27 AM

Vue 開発におけるモバイル側でのクリック浸透の問題を解決する方法モバイル側では、クリック浸透の問題が頻繁に発生します。つまり、ユーザーが要素を素早くクリックすると、実行時間が長いためです。クリックイベントが発生すると、次の要素がクリックスルーされます。これにより、開発中に複数のトリガー イベントやページ ジャンプ エラーなどの一連の問題が発生します。この問題を解決するために、Vue はいくつかの解決策を提供します。 1. FastClick ライブラリを使用する FastClick は、モバイル側のクリック イベントの 300ms 遅延を解消できるライブラリです。インストールして

PHPを使用してモバイル端末で使用できるQRコードを生成するにはどうすればよいですか? PHPを使用してモバイル端末で使用できるQRコードを生成するにはどうすればよいですか? Aug 26, 2023 pm 02:51 PM

PHPを使用してモバイル端末で使用できるQRコードを生成するにはどうすればよいですか?モバイル インターネットの急速な発展に伴い、QR コードは販売促進、支払い、活動などの面で重要なツールになりました。 PHP を使用してモバイル端末で使用できる QR コードを生成することは、多くの開発者のニーズになっています。この記事では、PHPを使用してモバイル端末で利用できるQRコードを生成する方法を、参考となるコード例を添付して紹介します。まず、「endroid/qr-code」という名前の PHP ライブラリをインストールして導入する必要があります。このライブラリは、

See all articles