Skip to content

Scroll Margin 滚动边距

在快照容器中控制项目周围的滚动偏移的实用工具。

ClassProperties

基本用法

设置滚动边距

使用 scroll-m{side}-{size} 实用程序在快照容器中设置项目周围的滚动偏移量。

👆 在图像网格中滚动以查看预期行为

html
<div class="snap-x ...">
  <div class="scroll-ml-6 snap-start ...">
    <img src="/images/tailwindcss/photo-1604999565976.jpg" />
  </div>
  <div class="scroll-ml-6 snap-start ...">
    <img src="/images/tailwindcss/photo-1540206351.jpg" />
  </div>
  <div class="scroll-ml-6 snap-start ...">
    <img src="/images/tailwindcss/photo-1622890806166.jpg" />
  </div>
  <div class="scroll-ml-6 snap-start ...">
    <img src="/images/tailwindcss/photo-1590523277543.jpg" />
  </div>
  <div class="scroll-ml-6 snap-start ...">
    <img src="/images/tailwindcss/photo-1575424909138.jpg" />
  </div>
</div>

使用负值

要使用负滚动边距值,需要在类名前加上破折号,将其转换为负值。

html
<div class="-scroll-ml-6 snap-start ...">
  <!-- ... -->
</div>

使用逻辑属性

使用 scroll-ms-*scroll-me-* 实用程序来设置 scroll-margin-inline-startscroll-margin-inline-end 逻辑属性,这些属性根据文本方向映射到左侧或右侧。

👆 在图像网格中滚动以查看预期行为

Left-to-right

Right-to-left

html
<div dir="ltr">
  <div class="snap-x ...">
    <div class="scroll-ms-6 snap-start ...">
      <img src="/images/tailwindcss/photo-1604999565976.jpg" />
    </div>
    <!-- ... -->
  </div>
</div>

<div dir="rtl">
  <div class="snap-x ...">
    <div class="scroll-ms-6 snap-start ...">
      <img src="/images/tailwindcss/photo-1604999565976.jpg" />
    </div>
    <!-- ... -->
  </div>
</div>

为了更好地控制,您还可以使用 LTR 和 RTL 修饰符,有条件地应用特定的样式,具体取决于当前的文本方向。

有条件地应用

悬停、焦点和其他状态

Tailwind 允许您使用变体修饰符在不同状态下有条件地应用实用程序类。例如,使用 hover:scroll-m-0 只在悬停时应用 scroll-m-0 实用程序。

html
<div class="scroll-m-8 hover:scroll-m-0">
  <!-- ... -->
</div>

有关所有可用状态修饰符的完整列表,请查看悬停、焦点和其他状态文档。

断点和媒体查询

您还可以使用变体修饰符来针对响应式断点、深色模式、偏好减少动作等媒体查询进行定位。例如,使用 md:scroll-m-0 仅在中等屏幕尺寸及以上应用 scroll-m-0 实用程序。

html
<div class="scroll-m-8 md:scroll-m-0">
  <!-- ... -->
</div>

要了解更多信息,请查看有关响应式设计深色模式其他媒体查询修饰符的文档。

使用自定义值

定制您的主题

默认情况下,Tailwind 的滚动边距比例使用默认的间距比例。您可以通过编辑您的 tailwind.config.js 文件中的 theme.spacingtheme.extend.spacing 来自定义您的间距比例。

js
module.exports = {
  theme: {
    extend: {
      spacing: {		
        '96': '24rem',	
      }					
    }
  }
}

或者,您可以通过编辑您的 tailwind.config.js 文件中的 theme.scrollMargintheme.extend.scrollMargin 来自定义滚动边距比例。

js
module.exports = {
  theme: {
    extend: {
      scrollMargin: {	
        '96': '24rem',	
      }					
    }
  }
}

有关自定义默认主题的更多信息,请参阅主题自定义文档。

任意值

如果您需要使用一个与主题无关的 scroll-margin 值,可以使用方括号来根据任意值动态生成属性。

html
<div class="scroll-m-[24rem]">
  <!-- ... -->
</div>

有关任意值支持的更多信息,请参阅任意值文档。

Released under the MIT License.