Bootstrap5 RFS
Bootstrap 的大小调整引擎响应性地缩放常见的 CSS 属性,以更好地利用跨视口和设备的可用空间。
什么是RFS?
Bootstrap 的副项目RFS是一个单位大小调整引擎,最初开发用于调整字体大小(它的全称为 Responsive Font Sizes)。如今,RFS能够使用诸如margin
,padding
,border-radius
,或甚box-shadow
等单位值重新缩放大多数CSS属性。
该机制会根据浏览器视口的尺寸自动计算适当的值。它将被编译成calc()
函数,混合使用rem
和视口单位,以实现响应缩放行为。
使用 RFS
mixin包含在Bootstrap中,一旦包含Bootstrap的scss
,mixin就可以使用。如果需要,RFS也可以独立安装。
使用mixin
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);
}
使用功能
当您不想使用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 存储库。
更多建议: