CSS - scroll-margin Property
CSS scroll-margin Property
CSS scroll-margin is a shorthand property that defines the margin of an element within the snap area.
A scroll snap area is the area of a scrolling container that an element will snap to when the user scrolls.
Possible Values
-
<length> − An outset from the corresponding edge of the scroll container. A length value is a numeric value, such as px, em.
Applies to
All the HTML elements.
DOM Syntax
object.style.scrollMargin = "length";
The following diagram demonstrates the scroll margin structure for reference:
CSS Scroll Margin - Zero value
The following example demonstrates how to remove the space around the scrolling sections by setting the scroll-margin property to 0 −
<html> <head> <style> .scroll-container { width: 300px; height: 200px; overflow-x: hidden; overflow-y: scroll; scroll-snap-type: y mandatory; } .scrolling-section1, .scrolling-section2, .scrolling-section3 { width: 300px; height: 200px; scroll-snap-align: start; } .scrolling-section1 { background-color: rgb(220, 235, 153); scroll-margin: 0; } .scrolling-section2 { background-color: rgb(230, 173, 218); scroll-margin: 0; } .scrolling-section3 { background-color: rgb(119, 224, 210); scroll-margin: 0; } </style> </head> <body> <h3>Scroll the content using the scrollbar arrows to see the effect.</h3> <div class="scroll-container"> <div class="scrolling-section1">scroll-margin: 0</div> <div class="scrolling-section2">scroll-margin: 0</div> <div class="scrolling-section3">scroll-margin: 0</div> </div> </body> </html>
CSS Scroll Margin - Length Value
The following example demonstrates how to use the CSS scroll-margin property. When you scroll the content, you will notice that the space between the elements changes −
<html> <head> <style> .scroll-container { width: 300px; height: 200px; overflow-x: hidden; overflow-y: scroll; scroll-snap-type: y mandatory; } .scrolling-section1, .scrolling-section2, .scrolling-section3 { width: 300px; height: 200px; scroll-snap-align: start; } .scrolling-section1 { background-color: rgb(220, 235, 153); scroll-margin: 20px; } .scrolling-section2 { background-color: rgb(230, 173, 218); scroll-margin: 2em; } .scrolling-section3 { background-color: rgb(119, 224, 210); scroll-margin: 10px; } </style> </head> <body> <h3>Scroll the content using the scrollbar arrows to see the effect.</h3> <div class="scroll-container"> <div class="scrolling-section1">scroll-margin: 20px</div> <div class="scrolling-section2">scroll-margin: 2em</div> <div class="scrolling-section3">scroll-margin: 10px</div> </div> </body> </html>
CSS scroll-margin - Related Properties
Following is the list of CSS properties of scroll-margin:
property | value |
---|---|
scroll-margin-top | Sets top margin of the scroll snap area of an element. |
scroll-margin-bottom | Sets bottom margin of the scroll snap area of an element. |
scroll-margin-left | Sets left margin of the scroll snap area of an element. |
scroll-margin-right | Sets right margin of the scroll snap area of an element. |
scroll-margin-block | Specifies an element's margins for vertical scrolling. |
scroll-margin-inline | Specifies scroll margins of an element in the inline dimension. |
Advertisements
To Continue Learning Please Login
Login with Google