<!DOCTYPE html>
<html>
<head>
<style>
#container {
width: 80%;
aspect-ratio: 3/1;
padding: 40px 0;
margin: auto;
border: solid black 2px;
overflow-x: hidden;
overflow-y: scroll;
scroll-snap-type: y mandatory;
}
.blue {
background-color: lightblue;
width: 95%;
aspect-ratio: 3/1;
}
.green {
background-color: lightgreen;
width: 80%;
aspect-ratio: 4/1;
}
.blue, .green {
margin: 2px;
scroll-snap-align: start none;
scroll-margin-block-start: 20px;
}
</style>
</head>
<body>
<h1>CSS scroll-margin-block-start 属性</h1>
<p>scroll-margin-block-start 属性设置于容器内的子元素上,以便在块方向上,通过容器内的外边距来偏移吸附位置。</p>
<p>在此情况下,吸附位置设置为在块方向上开始,因此焦点元素应该吸附到容器的最顶部。但由于 scroll-margin-block-start 的值,焦点元素与子元素和容器之间产生了 20 像素的外边距偏移。</p>
<div id="container">
<div class="blue"></div>
<div class="green"></div>
<div class="blue"></div>
<div class="green"></div>
<div class="blue"></div>
<div class="green"></div>
<div class="blue"></div>
</div>
</body>
</html>