CSS 属性

CSS scroll-padding属性指定滚动容器边缘与用户停止滚动时捕捉到位的元素区域之间的空间量。

滚动填充属性是一个以下 CSS 属性的简写:

属性值

  • <length- Percentage>: 使用有效的 <length> 或 <percentage> 来指示从滚动端口边缘向内的偏移量。

  • auto: 偏移量通常由用户代理设置为 0px 并允许检测如果非零值更合适,则采取其他行动。

适用范围

所有滚动容器。

DOM 语法

object.style.scrollPadding = "<length-percentage> | auto"; 
scroll-padding-* 属性设置滚动端口中最佳查看区域的偏移量。它们有助于排除被其他内容隐藏的滚动端口区域,例如固定位置的工具栏或侧边栏,或在目标元素和滚动端口边缘之间创建空间

下图演示了滚动填充结构以供参考:

CSS scroll-padding

CSS scroll-padding: 0

以下示例演示如何使用scroll-padding 属性删除任何指定的滚动填充 -

<html>
<head>
<style>
   .scroll-container {
      width: 350px;
      height: 200px;
      overflow-x: hidden;
      overflow-y: scroll;
      scroll-snap-type: y mandatory;
   }
   .scrolling-section1,
   .scrolling-section2,
   .scrolling-section3 {
      width: 350px;
      height: 200px;
      scroll-snap-align: start;
      scroll-padding: 0;
   }
   .scrolling-section1 {
      background-color: rgb(220, 235, 153);
   }
   .scrolling-section2 {
      background-color: rgb(230, 173, 218);
   }
   .scrolling-section3 {
      background-color: rgb(119, 224, 210);
   }
</style>
</head>
<body>
   <h3>使用滚动条箭头滚动内容以查看效果。</h3>
   <div class="scroll-container">
      <div class="scrolling-section1">scroll-padding: 0</div>
      <div class="scrolling-section2">scroll-padding: 0</div>
      <div class="scrolling-section3">scroll-padding: 0</div>
   </div>
</body>
</html> 

CSS scroll-padding: <length> 

以下示例演示如何使用scroll-padding:25px 属性添加 25px 填充可滚动内容周围 -

<html>
<head>
<style>
   .scroll-container {
      width: 350px;
      height: 200px;
      overflow-x: hidden;
      overflow-y: scroll;
      scroll-snap-type: y mandatory;
      scroll-padding: 25px;
   }
   .scrolling-section1,
   .scrolling-section2,
   .scrolling-section3 {
      width: 350px;
      height: 200px;
      scroll-snap-align: start;
   }
   .scrolling-section1 {
      background-color: rgb(220, 235, 153);
   }
   .scrolling-section2 {
      background-color: rgb(230, 173, 218);
   }
   .scrolling-section3 {
      background-color: rgb(119, 224, 210);
   }
</style>
</head>
<body>
   <h3>使用滚动条箭头滚动内容以查看效果。</h3>
   <div class="scroll-container">
      <div class="scrolling-section1">scroll-padding: 25px</div>
      <div class="scrolling-section2">scroll-padding: 25px</div>
      <div class="scrolling-section3">scroll-padding: 25px</div>
   </div>
</body>
</html> 

CSS scroll-padding: <percentage> 

以下示例演示了scroll-padding:20% 属性向滚动的顶部和底部添加 20% 的填充影响滚动行为的容器 -

<html>
<head>
<style>
   .scroll-container {
      width: 350px;
      height: 200px;
      overflow-x: hidden;
      overflow-y: scroll;
      scroll-snap-type: y mandatory;
      scroll-padding: 20%;
   }
   .scrolling-section1,
   .scrolling-section2,
   .scrolling-section3 {
      width: 350px;
      height: 200px;
      scroll-snap-align: start;
   }
   .scrolling-section1 {
      background-color: rgb(220, 235, 153);
   }
   .scrolling-section2 {
      background-color: rgb(230, 173, 218);
   }
   .scrolling-section3 {
      background-color: rgb(119, 224, 210);
   }
</style>
</head>
<body>
   <h3>使用滚动条箭头滚动内容以查看效果。</h3>
   <div class="scroll-container">
      <div class="scrolling-section1">scroll-padding: 20%</div>
      <div class="scrolling-section2">scroll-padding: 20%</div>
      <div class="scrolling-section3">scroll-padding: 20%</div>
   </div>
</body>
</html> 

CSS scroll-padding: 相关属性

以下是滚动填充的 CSS 属性列表:

属性
scroll-padding-top设置元素滚动对齐区域的顶部偏移量。
scroll-padding-bottom设置元素滚动捕捉区域的底部偏移量。
scroll-padding-left设置元素滚动捕捉区域的左偏移量。
scroll-padding-right设置元素滚动对齐区域的右偏移。
scroll-padding-block指定块维度中元素的滚动填充。
scroll-padding-inline指定内联元素的滚动填充尺寸..