--- title: scroll-behavior slug: Web/CSS/scroll-behavior tags: - CSS - CSS Property - CSS プロパティ - CSSOM View - Reference - 'recipe:css-property' translation_of: Web/CSS/scroll-behavior ---
{{CSSRef}}
scroll-behavior
は CSS のプロパティで、ナビゲーションや CSSOM のスクローリング API によってスクロールするボックスにスクロールが発生した際の、そのスクロールの振る舞いを設定します。
なお、ユーザーが実行したスクロールなど、その他のスクロールはこのプロパティの影響を受けません。このプロパティがルート要素に指定された場合は、代わりにビューポートに適用されます。このプロパティが body
要素に指定された場合は、ビューポートには適用されません。
ユーザーエージェントは、このプロパティを無視することができます。
/* キーワード値 */ scroll-behavior: auto; scroll-behavior: smooth; /* グローバル値 */ scroll-behavior: inherit; scroll-behavior: initial; scroll-behavior: unset;
scroll-behavior
プロパティは、以下の一覧にあるキーワード値のうちの一つで指定します。
auto
smooth
{{cssinfo}}
<nav> <a href="#page-1">1</a> <a href="#page-2">2</a> <a href="#page-3">3</a> </nav> <scroll-container> <scroll-page id="page-1">1</scroll-page> <scroll-page id="page-2">2</scroll-page> <scroll-page id="page-3">3</scroll-page> </scroll-container>
a { display: inline-block; width: 50px; text-decoration: none; } nav, scroll-container { display: block; margin: 0 auto; text-align: center; } nav { width: 339px; padding: 5px; border: 1px solid black; } scroll-container { display: block; width: 350px; height: 200px; overflow-y: scroll; scroll-behavior: smooth; } scroll-page { display: flex; align-items: center; justify-content: center; height: 100%; font-size: 5em; }
{{ EmbedLiveSample("Setting_smooth_scroll_behavior", "100%", 250) }}
仕様書 | 状態 | 備考 |
---|---|---|
{{SpecName('CSSOM View', "#propdef-scroll-behavior", 'scroll-behavior')}} | {{Spec2('CSSOM View')}} | 初回定義 |
{{Compat("css.properties.scroll-behavior")}}