<!DOCTYPE html>
<html>
<head>
<style>
#container {
width: 50%;
aspect-ratio: 1;
margin: auto;
border: solid black 2px;
overflow-x: scroll;
overflow-y: hidden;
scroll-snap-type: x mandatory;
writing-mode: vertical-rl;
scroll-padding-top: 30px;
}
#container > div {
margin: 2px;
scroll-snap-align: start none;
}
.green {
background-color: lightgreen;
height: 95%;
aspect-ratio: 2/3;
}
.blue {
background-color: lightblue;
height: 80%;
aspect-ratio: 1/2;
}
</style>
</head>
<body>
<h3>CSS scroll-padding-top with altered snap position.</h3>
<p>Snap position must be placed on top of the child elements for scroll-padding-top to work. On pages written in English the snap position can normally be set on top of child elements by setting scroll-snap-align to "start none" because block direction is downwards. But, if we change block direction with the writing-mode property value set to "vertical-rl", the snap position changes from top to the right side of the child elements. With the code like this the scroll-padding-top property no longer works.</p>
<div id="container">
<div class="blue">Blue</div>