跳到主要内容 跳到文档导航

Bootstrap 的大小调整引擎响应地缩放常见的 CSS 属性,以更好地利用视口和设备之间的可用空间。

什么是 RFS?

Bootstrap 的辅助项目RFS是一个单位调整大小引擎,最初开发用于调整字体大小(因此它是 Responsive Font Sizes 的缩写)。如今,RFS 能够使用单位值重新缩放大多数 CSS 属性,例如margin, padding, border-radius, 甚至box-shadow

该机制会根据浏览器视口的尺寸自动计算适当的值。它将被编译为calc()具有混合rem和视口单元的函数,以启用响应式缩放行为。

使用 RFS

这些 mixin 包含在 Bootstrap 中,并且在您包含 Bootstrap 的scss. 如果需要,RFS 也可以独立安装。

使用混入

rfs()mixin 有font-size, margin, margin-top, margin-right, margin-bottom, margin-left, padding, padding-top, padding-right, padding-bottom, 和的简写padding-left。有关源 Sass 和编译的 CSS,请参见下面的示例。

.title {
  @include font-size(4rem);
}
.title {
  font-size: calc(1.525rem + 3.3vw);
}

@media (min-width: 1200px) {
  .title {
    font-size: 4rem;
  }
}

任何其他属性都可以rfs()像这样传递给 mixin:

.selector {
  @include rfs(4rem, border-radius);
}

!important也可以添加到您想要的任何值:

.selector {
  @include padding(2.5rem !important);
}

使用函数

当您不想使用包含时,还有两个功能:

  • rfs-value()rem如果px传递了一个值,则将一个值转换为一个值,在其他情况下它返回相同的结果。
  • rfs-fluid-value()如果属性需要重新缩放,则返回值的流体版本。

在此示例中,我们使用 Bootstrap 的内置响应式断点 mixin之一,仅在断点下方应用样式lg

.selector {
  @include media-breakpoint-down(lg) {
    padding: rfs-fluid-value(2rem);
    font-size: rfs-fluid-value(1.125rem);
  }
}
@media (max-width: 991.98px) {
  .selector {
    padding: calc(1.325rem + 0.9vw);
    font-size: 1.125rem; /* 1.125rem is small enough, so RFS won't rescale this */
  }
}

扩展文档

RFS 是 Bootstrap 组织下的一个独立项目。有关 RFS 及其配置的更多信息,请参见其GitHub 存储库