RFS
所有通用表单控件,设计为一致性
On this page
什么是RFS?
BBootstrap的附带项目RFS是一个单元的缩放调整引擎,最初是为了调整字体大小而开发的(因此缩写为Responsive Font Sizes)。如今RFS能够使用单位数值来缩放大多数的CSS属性,诸如margin
、padding
、border-radius
、甚至box-shadow
等。
该机制会根据浏览器视窗的尺寸自动计算适当的值。它将使用rem和视窗单位组合编译为calc()
的函数,启用响应式的缩放行为。
使用RFS
mixin被包含在Bootstrap中,且只要包含Bootstrap的scss
就可以使用这些mixin
。如果有需要也可以独立安装 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
也可以添加到任何您想要的值中:
.selector {
@include padding(2.5rem !important);
}
使用函数
当你不想使用include时,这里还有二个函数:
rfs-value()
会将数值转换为rem
值,如果传递进函式的数值为px
的话。在其他情况下,它将返回相同的结果。rfs-fluid-value()
会返回fluid版本的数值,如果属性需要重新缩放的话。
在此示例中,我们使用Bootstrap内置的响应式断点mixins之一来应用在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是Boostrap组织下的一个单独项目,更多有关于RFS的相关配置与信息,请参见其GitHub repository。