跳到主题内容 跳到文档导航栏

RFS

Bootstrap的调整大小引擎会相应地调整常见的CSS属性,以便更好地利用视图和设备之间的可用空间。

什么是RFS?

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

该机制会根据浏览器视图的尺寸自动计算适当的值。它将被calc()混合为带有rem和视图单元的功能,以实现响应式缩放行为。

使用 RFS

混合文件包含在Bootstrap中,一旦包含Bootstrap的文件,即可使用scss。如果需要,也可以独立安装 RFS 。

使用mixins

rfs()混入对 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()如果px传递了值,该函数会将此值转换为rem值,,在其他情况下,它返回相同的结果。
  • rfs-fluid-value() 如果属性需要重新缩放,则返回值的fluid版本。

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

.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 repository