ブートストラップのスクロールで粘着性のサイドバーを作成する方法
ブートストラップを備えたスティッキーサイドバーを作成する最も簡単な方法は、トップオフセットを備えた組み込みのスティッキートップクラスを使用することです。 1.サイドバーコンテンツラッピング要素にスティッキートップクラスを追加し、style = "top:20px;"頭との重複を避けるため。 2。親コンテナ(COL-MD-3など)に、オーバーフローなどの粘着性の行動に影響を与えるスタイルがないことを確認してください。 3.オプションで位置を設定します。カスタムCSSを介して粘着し、高さを追加します:100VHとオーバーフロー-Y:サイドバーでのスクロールをサポートする自動。 4.古いブラウザやダイナミックコントロールと互換性がある場合は、JavaScriptを使用してスクロールイベントをリッスンし、固定トップクラスに切り替えることができますが、追加のJS、より良いパフォーマンス、シンプルさはありません。
ブートストラップで粘着性のサイドバーを作成するのは簡単です。特に、ブートストラップの組み込みクラスと、コントロール用の小さなCSSまたはJavaScriptがあります。ユーザーがページをスクロールするときに視界を維持するサイドバーを実装する方法は次のとおりです。

Bootstrapのposition-sticky
クラスを使用します
ブートストラップで粘着性のサイドバーを作成する最も簡単な方法はposition-sticky
ユーティリティクラスを使用することです。これは最新のブラウザでうまく機能し、最小限のコードが必要です。
1。基本的なHTML構造
<div class = "container-fluid"> <div class = "row"> <! - スティッキーサイドバー - > <div class = "col-md-3"> <div class = "sticky-top" style = "top:20px; background:#f8f9fa; padding:20px; height:100vh;"> <h5>サイドバー</h5> <ul class = "nav flex-column"> <li class = "nav-item"> <a class = "nav-link" href = "#"> link 1 </a> </li> <li class = "nav-item"> <a class = "nav-link" href = "#"> link 2 </a> </li> <li class = "nav-item"> <a class = "nav-link" href = "#"> link 3 </a> </li> </ul> </div> </div> <! - メインコンテンツ - > <div class = "col-md-9"> <h1>メインコンテンツ</h1> <p>下にスクロールして、サイドバーが上部に付着するのを見る... </p> <! - スクロールを有効にするのに十分なコンテンツを追加 - > <div style = "height:1500px;"> <p>ここでは、スクロールをトリガーするための長いコンテンツ</p> </div> </div> </div> </div>
2。それを機能させるためのキーポイント
- 内側の要素で
sticky-top
を使用します(列自体ではありません)。 -
style="top: 20px;"
を使用してtop
オフセットを追加します。したがって、サイドバーはビューポートの最上部に固執しません(ヘッダーのオーバーラップを回避します)。 - 親列(
col-md-3
)にoverflow: hidden
または類似。 - オプションでは、コンテンツが短い場合は早期に解放されないように、固定された高さまたはパディング(
height: 100vh
など)を設定します。
CSSで動作をカスタマイズする(オプション)
さらにコントロールが必要な場合は、カスタムCSSを使用してください。

.sidebar-sticky { 位置:-webkit -sticky; 位置:粘着性; トップ:20px; 高さ:100VH; Overflow-y:auto; }
sticky-top
の代わりにこのクラスを適用します。
<div class = "col-md-3"> <div class = "sidebar-sticky"> <! - サイドバーコンテンツ - > </div> </div>
これは、ビューポートよりも長い場合、サイドバー自体内でスクロールすることを許可する場合に役立ちます。

考慮事項とヒント
- ブートストラップバージョン:これは、ブートストラップ4と5で機能します。
- レスポンシブデザイン:小さな画面では、粘着性の動作を無効にすることができます。必要に応じて、
d-none d-md-block
などのレスポンシブクラスを使用します。 - 競合:親要素に対する
transform
、filter
、またはperspective
使用を避けてください - それらはposition: sticky
。 - パフォーマンス:
position: sticky
はパフォーマンスがあり、ブラウザ原産であるため、ほとんどの場合JavaScriptは必要ありません。
オプション:JavaScriptフォールバック(まれに必要ありません)
古いブラウザをサポートする必要がある場合、または動的動作を追加する必要がある場合(特定の時点で粘着性を停止するなど)、JavaScriptを使用できます。
const sidebar = document.queryselector('。sidebar-sticky '); const offsettop = sidebar.offsettop; window.onscroll = function(){ if(window.pageyoffset> = offsettop){ sidebar.classlist.add( '固定対象'); } それ以外 { sidebar.classlist.remove( '固定対象'); } };
CSSで.fixed-top
クラスを追加します。
.fixed-top { 位置:修正; トップ:20px; 幅:25%; / *列に基づいて調整 */ }
しかし、このアプローチはposition: sticky
よりも複雑で信頼性が低いです。
ほとんどの場合、 top
オフセットでsticky-top
を使用してください。シンプルで清潔で、最新のレイアウトで完全にサポートされています。
基本的に、それが必要なすべてです - プラグインも複雑なJSもありません。
以上がブートストラップのスクロールで粘着性のサイドバーを作成する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

Undress AI Tool
脱衣画像を無料で

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

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

Clothoff.io
AI衣類リムーバー

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

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

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

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

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

bootstrap5doesnotrequirejquery、asithasbeencecompletelyremovedtomaketheframeworklighter andmorecopatiblewithmodernjavascriptpractices.theremovalwaspossibledueTodroppedSupportforederbrowsers、enablingTheofmernes6javasernes6javasportureforforforforforforforforforforforforforforforforforperportersers

tomakeanimageresponsiveinbootstrap、addthe.img-fluidclasstothetag; thisappliesmax-width:100%andheight:auto、auto、authuring with with with with autoverflow; 1.use; use;

ブートストラップフォームを使用する鍵は、クラスの構造と使用を習得することです。 1.基本的なフォーム構造は、フォームコントロール、フォームラベル、フォームテキスト、フォームチェックを使用して、入力、ラベル、ヘルプテキスト、チェックボックスをスタイル化します。 2。水平形式は、グリッドシステム(col-sm-*など)を組み合わせることにより、ラベルとコントロールに沿って表示され、インライン形式はd-flexなどの実用的なクラスを使用して、bootstrap5の除去されたフォームインラインを置き換えます。 3.フォーム検証は、iS-validまたはIS-validクラスを使用して、有効なフィードバックと無効なフィードバックを一致させて逆に表示します。

installbootStrapvianPMandUseitsSassfilesedofprecompiledcss.2.createAcustom.scssfileandoverridebaultvariableslikelike $、$ font-family-sans-serif、または$ enable-shadadowsbeimportingbootingtrap.3

bootstrapcdnを使用して、2つのリンクでCSSとJSをすばやく導入できます。 1. HTMLにCSSリンクを追加:2。前にJSスクリプトを追加します。3。オプションでアイコンライブラリを紹介します。そして、この方法ではインストールを必要とせず、学習とプロトタイピングに適していますが、制作環境はより良い制御のために自己ホスティングを推奨します。

まず、CDNを介してブートストラップとJSをロードし、セキュリティを強化するための整合性とクロスリギン属性を追加します。 2。CSSリンク後に検出スクリプトを追加して、document.getElementByID( 'bootstrap-css')を確認します。シートが存在します。存在しない場合は、ローカルCSSファイルを動的に挿入します。 3。JSの場合、TypeOfBootStrap === '未定義'が真であるかどうかを確認し、それが真である場合は、ローカルJSファイルをロードするためのスクリプトタグを作成します。 4.ローカルファイルパスが正しく、バージョンがCDNと一致してシームレスなダウングレードを実現していることを確認します。 CDNによって失敗します

ブートストラップでカードグリッドを作成するには、レスポンシブグリッドシステムを使用してカードコンポーネントを組み合わせる必要があります。 1.コンテナ、行、コル*クラスのレイアウトを使用して、カードを列に配置して、応答性の高い配置を実現します。 2。COL-12、COL-MD-6、COL-LG-4、COL-XL-3およびその他のクラスを調整して、異なる画面の下で1枚あたりのカード数を制御します。 3.カードを非常に一貫性にするために、カードクラスにH-100を追加できます。 4.きちんとした適応型カードグリッドレイアウトを構築するために、MB-4の代わりにG-4などのギャップクラスを使用して、行の間隔を設定することをお勧めします。

bootstrapformvalidationususessbuilt-instylestoshowvalid/invalidstates withvisualfeedback.1.addnovalidateTodisablebrowsortooltips.2.useneeds-validationforreal-feedorwas-validatedaftersubmisition.3.includehtml5validationatttributeliked.dddationttribute ddddationttribute ddddation
