CSS scroll-margin-inline-start Property
The scroll-margin-inline-start property is used to set all the scroll margins to the start of the inline dimension of a scroll element at once.The selection of the start side depends upon the writing mode. The start side is left side for horizontal-tb writing mode and top or bottom side for the vertical-lr and vertical-rl writing mode respectively. horizontal-tb stands for horizontal top-to -bottom, vertical-rl is the vertical right-to-left, and vertical-lr is the vertical left-to-right.
Syntax:
scroll-margin-inline-start: length
or
scroll-margin-inline-start: Global_Values
Property values: The scroll-margin-inline-start 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-start does not accept percentage value as the length.
Example: In this example, you can see the effect of scroll-margin-inline-start by scrolling to a point partway between the 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: 40px; display: flex; align-items: center; justify-content: center; scroll-snap-align: start; } .scroll>div:nth-child(2n) { background-color: #fff; color: #0fe962; } .scroll>div:nth-child(2) { scroll-margin-inline-start: 2rem; } .scroll>div:nth-child(3) { scroll-margin-inline-start: 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