RFS
Bootstrap 的大小调整引擎响应式缩放的常见的 CSS 属性,以更好地利用窗口和设备的可用空间。
内容提要
什么是RFS?
Bootstrap 的伴随项目RFS是一个独立的大小调整引擎,最初是为了调整字体大小而开发的(因此它是 Responsive Font Sizes 的缩写)。 如今,RFS 能够使用margin
、padding
、border-radius
甚至 box-shadow
属性的值为单位缩放大多数 CSS 属性。
该机制会根据浏览器视口的尺寸自动计算适当的值。 它将被编译成 calc()
函数,并混合使用 rem
和视口单位,以实现响应式缩放。
使用 RFS
这些 mixin 包含在 Bootstrap 中,并且在您包含 Bootstrap 的 scss
后可用。 如果需要,RFS 也可以独立安装。
使用mixins
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
can also just be added to whatever value you want:
.selector {
@include padding(2.5rem !important);
}
使用功能
当您不想使用 include
时,还有两个功能:
rfs-value()
如果传递了px
值,则将值转换为rem
值,在其他情况下返回相同的结果。rfs-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 仓库。