Open In App

CSS scroll-margin-inline Property

Last Updated : 29 Aug, 2022
Improve
Improve
Like Article
Like
Save
Share
Report

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


Like Article
Suggest improvement
Share your thoughts in the comments

Similar Reads