CSS scroll-margin-inline Property
The scroll-margin-inline 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-inline-start and scroll-margin-inline-end property. The selection of the start and end sides depends upon the writing mode. The start side and end side are left and right sides respectively for horizontal-tb writing mode.
- Where horizontal-tb stands for horizontal top-to-bottom.
Similarly, start side and end side are the top and bottom 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-inline: length
Or
scroll-margin-inline: Global_Values
Property values: The scroll-margin-inline 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: The scroll-margin-inline does not accept percentage value as the length.
Example: In this example, you can see the effect of scroll-margin-inline by scrolling to a point partway between two of the interfaces of the example’s content.
HTML
<!DOCTYPE html> < html > < head > < style > .scroll { width: 300px; height: 300px; overflow-x: scroll; display: flex; box-sizing: border-box; scroll-snap-type: x mandatory; } .scroll>div { flex: 0 0 300px; border: 1px solid #000; background-color: #57e714; color: #fff; font-size: 30px; display: flex; align-items: center; justify-content: center; scroll-snap-align: end; } .scroll>div:nth-child(2n) { background-color: #fff; color: #0fe962; } .scroll>div:nth-child(2) { scroll-margin-inline: 2rem; } .scroll>div:nth-child(3) { scroll-margin-inline: 3rem; } </ style > </ head > < body > < div class = "scroll" > < div >Geek 1</ div > < div >Geek 2</ div > < div >Geek 3</ div > < div >Geek 4</ div > </ div > </ body > </ html > |
Output:
Supported Browsers:
- Google Chrome 69
- Edge 79
- Firefox 68
- Opera 56
- Safari 14.1