--- 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 プロパティは、以下の一覧にあるキーワード値のうちの一つで指定します。
autosmooth{{cssinfo}}
{{csssyntax}}
<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")}}