目次

粘着性?

今回は、 CSS の position プロパティに sticky の値を指定した場合のテストを行ってみました。

何かの HTML 要素に「position : sticky」と「top : 0px」の CSS ルールを指定した場合、 HTML 要素上端と画面上端までの間隔が 0px 以下になると、次の sticky までの間、 HTML 要素が、その位置に固定表示されるようです。

sticky(スティッキー)の英語の意味をインターネットの辞書で調べてみると、「粘着性のある」という意味が出てきました。

サンプルページを作成して試してみます。

「position : sticky」と「top : 0px」を指定した HTML 要素「text1」の上端と画面の上端の間隔が 0px 以下になると「text1」が固定される。
「position : sticky」と「top : 0px」を指定した HTML 要素「text1」の上端と画面の上端の間隔が 0px 以下になると「text1」が固定される。

目次まで戻る

サンプル

以下の URL でサンプルページをご覧いただけます。

CSS position:sticky テスト
https://pulogu.net/wordpress/wp-content/uploads/2023/11/css-position-sticky.html

サンプルページのソースコードは以下のようになっています。

CSS :

.a{
  position:sticky;
  top: 0px;
  background-color: yellow;
  border: solid 3px black;
}

HTML :

<h2 class="a">text1</h2>
<p>text 1-1</p>
<p>text 1-2</p>
<p>text 1-3</p>
<p>text 1-4</p>
<p>text 1-5</p>
<h2 class="a">text2</h2>
<p>text 2-1</p>
<p>text 2-2</p>
<p>text 2-3</p>
<p>text 2-4</p>
<p>text 2-5</p>
<h2 class="a">text3</h2>
<p>text 3-1</p>
<p>text 3-2</p>
<p>text 3-3</p>
<p>text 3-4</p>
<p>text 3-5</p>
<p>copyright 2023 pulogu.net</p>

サンプルページ全体のスクリーンショットは以下の画像のようになっています

「text1」「text2」「text3」が「position : sticky」「top : 0px」になっています。

サンプルページ全体のスクリーンショットです。
サンプルページ全体のスクリーンショットです。

目次まで戻る

下にスクロール

スクロール前は以下の画像のようになっています。ページ最上部です。「text1」上端と画面上端までの間隔は、まだ余裕があります。

ページ最上部です。
ページ最上部です。

下にスクロールしていくと、「text1」上端と画面上端の間隔が 0px になる位置があったようで、その位置に「text1」が固定表示されました。

「text1」の背面で「text 1-1」が隠れてスクロールされていきました。

「text1」の見出しの下に「text1-1」が隠れている。
「text1」の見出しの下に「text1-1」が隠れている。

更に下にスクロールして「text2」の見出しまで到達すると、「text2」が上に重なって表示されました。

もう少しで「text2」の上端と画面上端の間隔が 0px になりそうです。

「text1」の見出しが上部に固定されていますが、「text2」の見出しに代わりそうです。
「text1」の見出しが上部に固定されていますが、「text2」の見出しに代わりそうです。

もう少しスクロールすると「text1」に代わって「text2」の見出しが上部に固定されました。

「text2」の見出しが上部に固定されている。
「text2」の見出しが上部に固定されている。

ページ最下部まで到達しました。「text3」上端と画面上端との間隔が 0px なので上部に固定されているようです。

ページ最下部です。
ページ最下部です。

目次まで戻る

text10 まで

上記サンプルページの「text」を 10 まで増やしたバージョンのサンプルページも作成してみました。

下スクロール量が多いので sticky の機能が分かりやすいと思います。 3 までだと少し分かりにくかったですね。

(text10まで存在する)CSS position:sticky テスト
https://pulogu.net/wordpress/wp-content/uploads/2023/11/css-position-sticky-text10.html

目次まで戻る

参考資料

position - CSS: カスケーディングスタイルシート | MDN
https://developer.mozilla.org/ja/docs/Web/CSS/position

目次まで戻る

テスト環境

  • Windows 10(64 ビット)
  • Mozilla Firefox 119.0 (64 ビット)

以上、閲覧ありがとうございました。

目次まで戻る

[ Amazon.co.jp アソシエイト ] JavaScript 関係の本
https://amzn.to/48EoeGM

同じカテゴリの投稿(HTML・CSS)

前後の投稿