--- title: overscroll-behavior-block slug: Web/CSS/overscroll-behavior-block tags: - CSS - CSS Box Model - CSS Logical Properties - CSS Property - NeedsExample - Reference - overscroll-behavior-block - 'recipe:css-property' translation_of: Web/CSS/overscroll-behavior-block ---
overscroll-behavior-block
は CSS のプロパティで、スクロール領域のブロック方向の境界に達したときのブラウザーの挙動を設定します。
全体的な説明は {{cssxref("overscroll-behavior")}} を参照してください。
/* キーワード値 */ overscroll-behavior-block: auto; /* 既定値 */ overscroll-behavior-block: contain; overscroll-behavior-block: none; /* グローバル値 */ overscroll-behavior-block: inherit; overscroll-behavior-block: initial; overscroll-behavior-block: unset;
overscroll-behavior-block
プロパティは、次の値の一覧のうち一つのキーワードで指定します。
auto
contain
none
{{cssinfo}}
{{csssyntax}}
このデモでは、一方がもう一方の中にある二つのブロックレベルボックスがあります。外側のボックスは広い {{cssxref("height")}} を持っているので、ページは垂直にスクロールします。内側のボックスは {{cssxref("width")}} (と height
) が小さく、ビューポート内にきちんと収まりますが、内容は広い height
を持つため、垂直にスクロールします。
既定では、内側のボックスがスクロールして境界に達すると、ページ全体がスクロールし始めますが、これはおそらく望ましくない動きです。ブロック方向でこれが発生することを防ぐために、内側のボックスに overscroll-behavior-block: contain
を設定しました。
<main> <div> <div> <p><code>overscroll-behavior-block</code> has been used to make it so that when the scroll boundaries of the yellow inner box are reached, the whole page does not begin to scroll.</p> </div> </div> </main>
main { height: 3000px; width: 500px; background-color: white; background-image: repeating-linear-gradient(to bottom, rgba(0,0,0,0) 0px, rgba(0,0,0,0) 19px, rgba(0,0,0,0.5) 20px); } main > div { height: 300px; width: 400px; overflow: auto; position: relative; top: 50px; left: 50px; overscroll-behavior-block: contain; } div > div { height: 1500px; width: 100%; background-color: yellow; background-image: repeating-linear-gradient(to bottom, rgba(0,0,0,0) 0px, rgba(0,0,0,0) 19px, rgba(0,0,0,0.5) 20px); } p { padding: 10px; background-color: rgba(255,0,0,0.5); margin: 0; width: 340px; position: relative; top: 10px; left: 10px; }
{{EmbedLiveSample('Preventing_block_overscrolling','100%', 500)}}
仕様書 | 状態 | 備考 |
---|---|---|
{{SpecName('CSS Overscroll Behavior', '#propdef-overscroll-behavior-block', 'overscroll-behavior-block')}} | {{Spec2('CSS Overscroll Behavior')}} |
{{Compat("css.properties.overscroll-behavior-block")}}