x
 
<!DOCTYPE html>
<html>
<head>
<style>
#container {
  width: 50%;
  aspect-ratio: 2/3;
  margin: auto;
  border: solid black 2px;
  overflow-x: scroll;
  overflow-y: hidden;
  scroll-snap-type: x mandatory;
  writing-mode: vertical-rl;
}
#container > div {
  margin: 2px;
  scroll-snap-align: end none;
  scroll-margin-bottom: 30px;
}
.green {
  background-color: lightgreen;
  width: 95%;
  aspect-ratio: 4/3;
}
.blue {
  background-color: lightblue;
  width: 80%;
  aspect-ratio: 3/2;
}
</style>
</head>
<body>
<h1>调整吸附位置后的 CSS scroll-margin-bottom</h1>
<p>为了使 scroll-margin-bottom 生效,吸附位置必须设置在子元素的底部。在英文页面中,通常可以通过将 scroll-snap-align 设置为“end none”来将吸附位置设置在子元素的底部,因为块方向是向下的。但是,如果我们通过设置 writing-mode 属性值为“vertical-rl”来改变块方向,吸附位置就会从子元素的底部变为左侧。在这种情况下,scroll-margin-bottom 属性将不再起作用。</p>
<div id="container">
  <div class="blue">Blue</div>
  <div class="green">Green</div>
  <div class="blue">Blue</div>
  <div class="green">Green</div>
  <div class="blue">Blue</div>
  <div class="green">Green</div>
  <div class="blue">Blue</div>
  <div class="green">Green</div>
</div>
</body>
</html>