目次
Bootstrapのposition-stickyクラスを使用します
2。それを機能させるためのキーポイント
CSSで動作をカスタマイズする(オプション)
考慮事項とヒント
オプション:JavaScriptフォールバック(まれに必要ありません)
ホームページ ウェブフロントエンド ブートストラップのチュートリアル ブートストラップのスクロールで粘着性のサイドバーを作成する方法

ブートストラップのスクロールで粘着性のサイドバーを作成する方法

Aug 22, 2025 am 09:02 AM

ブートストラップを備えたスティッキーサイドバーを作成する最も簡単な方法は、トップオフセットを備えた組み込みのスティッキートップクラスを使用することです。 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などのレスポンシブクラスを使用します。
  • 競合:親要素に対するtransformfilter 、またはperspective使用を避けてください - それらはposition: sticky
  • パフォーマンスposition: stickyはパフォーマンスがあり、ブラウザ原産であるため、ほとんどの場合JavaScriptは必要ありません。

オプション:JavaScriptフォールバック(まれに必要ありません)

古いブラウザをサポートする必要がある場合、または動的動作を追加する必要がある場合(特定の時点で粘着性を停止するなど)、JavaScriptを使用できます。

 const sidebar = document.queryselector(&#39;。sidebar-sticky &#39;);
const offsettop = sidebar.offsettop;

window.onscroll = function(){
  if(window.pageyoffset> = offsettop){
    sidebar.classlist.add( &#39;固定対象&#39;);
  } それ以外 {
    sidebar.classlist.remove( &#39;固定対象&#39;);
  }
};

CSSで.fixed-topクラスを追加します。

 .fixed-top {
  位置:修正;
  トップ:20px;
  幅:25%; / *列に基づいて調整 */
}

しかし、このアプローチはposition: stickyよりも複雑で信頼性が低いです。


ほとんどの場合、 topオフセットでsticky-topを使用してください。シンプルで清潔で、最新のレイアウトで完全にサポートされています。

基本的に、それが必要なすべてです - プラグインも複雑なJSもありません。

以上がブートストラップのスクロールで粘着性のサイドバーを作成する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

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)

ホットトピック

ブートストラップ5はjQueryを必要としますか? ブートストラップ5はjQueryを必要としますか? Aug 03, 2025 am 01:37 AM

bootstrap5doesnotrequirejquery、asithasbeencecompletelyremovedtomaketheframeworklighter andmorecopatiblewithmodernjavascriptpractices.theremovalwaspossibledueTodroppedSupportforederbrowsers、enablingTheofmernes6javasernes6javasportureforforforforforforforforforforforforforforforforforperportersers

ブートストラップで画像を応答する方法は? ブートストラップで画像を応答する方法は? Aug 03, 2025 am 04:11 AM

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

ブートストラップフォームの使用方法は? ブートストラップフォームの使用方法は? Aug 05, 2025 am 08:34 AM

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

SASSでブートストラップをカスタマイズする方法は? SASSでブートストラップをカスタマイズする方法は? Jul 29, 2025 am 12:47 AM

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

ブートストラップCDNリンクの使用方法は? ブートストラップCDNリンクの使用方法は? Aug 01, 2025 am 06:01 AM

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

CDNフォールバックでブートストラップを使用する方法は? CDNフォールバックでブートストラップを使用する方法は? Aug 02, 2025 am 06:19 AM

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

ブートストラップでカードのグリッドを作成する方法は? ブートストラップでカードのグリッドを作成する方法は? Aug 02, 2025 am 09:27 AM

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

ブートストラップフォームの検証の使用方法は? ブートストラップフォームの検証の使用方法は? Aug 05, 2025 am 05:59 AM

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

See all articles