CSS scroll-margin-block property
The scroll-margin-block property is used to set all the scroll margins to the start and end of a scroll element at once. This property is shorthand for the scroll-margin-block-start and scroll-margin-block-end property.
The selection of the start and end sides depends upon the writing mode. The start side and end side are top and bottom sides respectively for horizontal-tb writing mode.
- Where horizontal-tb stands for horizontal top-to -bottom.
The start side and end side are left and right sides respectively for vertical-rl or vertical-lr writing mode.
- Where vertical-rl is the vertical right to left and vertical-lr is the vertical left-to-right.
Syntax:
scroll-margin-block: length /* Or */ scroll-margin-block: Global_Values
Property values: The scroll-margin-block property accepts two properties mentioned above and described below:
- length: This property refers to the values defined with length units like em, px, rem, vh, etc.
- Global_Values: This property refers to the global values like inherit, initial, unset, etc.
Note: scroll-margin-block doesn’t accept percentage value as the length.
Example: In this example, you can see the effect of scroll-margin-block by scrolling to a point partway between two of the “interfaces” of the example’s content.
HTML
<!DOCTYPE html> < html > < head > < style > .page { width: 278px; height: 296px; box-sizing: border-box; color: white; font-size: 60px; display: flex; align-items: center; justify-content: center; scroll-snap-align: end none; } .Container { width: 300px; height: 300px; overflow-x: hidden; overflow-y: auto; white-space: nowrap; scroll-snap-type: y mandatory; } </ style > </ head > < body > < div class = "Container" > < div class = "page" style="background-color: rgb(95, 236, 14); scroll-margin-block: 90px;"> Beginner </ div > < div class = "page" style="background-color: rgb(25, 143, 25); scroll-margin-block: 90px;"> for </ div > < div class = "page" style="background-color: rgb(110, 228, 129); scroll-margin-block: 90px;"> Beginner </ div > < div class = "page" style="color: black; scroll-margin-block: 90px;"> for </ div > < div class = "page" style="background-color: rgb(25, 143, 25); scroll-margin-block: 90px;"> Beginner </ div > </ div > </ body > </ html > |
Output:
Browsers Supported:
- Google Chrome 69
- Edge 79
- Firefox 68
- Opera 56
- Safari 14.1