ちいつる

レイアウト・構造

スティッキーサイドバー

本文をスクロールしても、横のサイドレールが position:sticky で画面上部に貼り付いて追従する2カラム。目次や広告、要約を常時見せる型。枠内をスクロールすると挙動が見えます。

ENGLISH

Sticky Sidebar

  • CSSのみ
84レイアウト・構造 の一覧 →

プレビュー

スクロール

操作枠内をスクロールすると動きます。

実装メモ

プレビューはステージ自身をスクロール容器にしています(overflow-y:auto)。実ページではページ全体がスクロール容器になるため、レール側の親カラムに十分な高さがあれば同様に貼り付きます。sticky が効かないときは、祖先要素に overflow:hidden が付いていないか確認してください。

コード(コピーして使えます)

<div class="stage">
  <div class="ss">
    <main class="ss-main">
      <h2 class="ss-h">スクロールしてみてください</h2>
      <p class="ss-p">本文は下へ長く続きます。右のサイドレールは上端に貼り付いたまま追従します。</p>
      <p class="ss-p">position: sticky と top の指定だけで、JavaScript なしに固定追従を実現できます。</p>
      <p class="ss-p">親要素の高さがある限り、レールはその範囲内で貼り付き続けます。</p>
      <p class="ss-p">記事の目次、購入ボックス、著者情報などを常に視界へ置くのに向きます。</p>
      <p class="ss-p">本文の一番下まで来ると、レールも一緒に離れていきます。</p>
      <p class="ss-p">これがスティッキーサイドバーの基本挙動です。</p>
    </main>
    <aside class="ss-rail" aria-label="サイドレール">
      <span class="ss-rail-thumb"></span>
      <span class="ss-rail-t">目次</span>
      <span class="ss-rail-note">sticky · top:0</span>
    </aside>
  </div>
</div>

タグ

関連パーツ