Bootstrap 的大小调整引擎可响应式扩展常见的 CSS 属性,以更好地利用跨视口和设备的可用空间。
什么是 RFS?
Bootstrap 的副项目 RFS 是一个单元大小调整引擎,最初是为了调整字体大小而开发的(因此它是响应式字体大小的缩写)。如今,RFS 能够重新缩放大多数 CSS 属性,单位值如 、 、 甚至 。marginpaddingborder-radiusbox-shadow
该机制会根据浏览器视口的尺寸自动计算适当的值。它将被编译为混合了 和视口单元的函数,以启用响应式缩放行为。calc()rem
使用 RFS
mixin 包含在 Bootstrap 中,一旦您包含 Bootstrap 的 .如果需要,RFS 也可以独立安装。scss
使用 mixin
mixin 具有 、 、 和 的简写 。请参阅下面的示例,了解源 Sass 和编译的 CSS。rfs()font-sizemarginmargin-topmargin-rightmargin-bottommargin-leftpaddingpadding-toppadding-rightpadding-bottompadding-left
.title {
@include font-size(4rem);
}
.title {
font-size: calc(1.525rem + 3.3vw);
}
@media (min-width: 1200px) {
.title {
font-size: 4rem;
}
}
任何其他属性都可以像这样传递给 mixin:rfs()
.selector {
@include rfs(4rem, border-radius);
}
!important也可以添加到您想要的任何值中:
.selector {
@include padding(2.5rem !important);
}
使用函数
当您不想使用 include 时,还有两个函数:
rfs-value()如果传递值,则将值转换为值,在其他情况下,它返回相同的结果。rempxrfs-fluid-value()如果属性需要重新缩放,则返回值的流体版本。
在此示例中,我们使用 Bootstrap 的内置响应式断点混合之一仅在断点下方应用样式。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 存储库。

