CSS scroll-margin-top Property


Example

Set scroll margin top to 20px between the snap position and the container:

div {
  scroll-margin-top: 20px;
}
Try it Yourself »

More "Try it Yourself" examples below.


Definition and Usage

The scroll-margin-top property specifies the distance between the snap position and the container.

Snap position is the position on the child element where it snaps into place in the container when you stop scrolling. Snap position is set with scroll-snap-align property, but can also be affected by CSS properties direction and writing-mode.

Note: This property only works if the snap position is placed at the top of the child element.

To see the effect from the scroll-margin-top property, the scroll-margin-top and scroll-snap-align properties must be set on the child elements, and the scroll-snap-type property must be set on the parent element.

Default value: 0
Inherited: no
Animatable: no. Read about animatable
Version: CSS3
JavaScript syntax: object.style.scrollMarginTop="20px" Try it

Browser Support

The numbers in the table specify the first browser version that fully supports the property.

Property
scroll-margin-top 69.0 79.0 68.0 14.1 56.0


CSS Syntax

scroll-margin-top: 0|value|initial|inherit;

Property Values

Value Description
0 Scroll-margin-top is zero. This is default
length Specifies scroll-margin-top in px, pt, cm, etc. Negative values are allowed. Read about length units
initial Sets this property to its default value. Read about initial
inherit Inherits this property from its parent element. Read about inherit

More Examples

Image gallery

The scroll-margin-top property can be used in an image gallery with snap behaviour. Here, the scroll-margin-top lets the user see that there is an image at the top. Scroll past the first image to see the effect:

#container > img {
  scroll-margin-top: 30px;
}
alley bridge in jungle mountains man with camera Cinque Terre
Try it Yourself »

Snap position

The snap position must be placed on top of the child elements for the scroll-margin-top property to work. In this example the writing-mode property changes the snap position from top to right side of child elements. With the code like this the scroll-margin-top property no longer works:

#container {
  writing-mode: vertical-rl;
}

#container > div {
  scroll-margin-top: 30px;
  scroll-snap-align: start none;
}
Try it Yourself »

Related Pages

CSS direction property: CSS Direction property

CSS scroll-snap-align property: CSS Scroll-snap-align property

CSS scroll-snap-type property: CSS Scroll-snap-type property

CSS writing-mode property: CSS Writing-mode property


Copyright 1999-2023 by Refsnes Data. All Rights Reserved.