RFS

      Bootstrap’s resizing engine responsively scales common CSS properties to better utilize available space across viewports and devices.

      What is RFS?

      Bootstrap’s side project RFS is a unit resizing engine which was initially developed to resize font sizes (hence its abbreviation for Responsive Font Sizes). Nowadays RFS is capable of rescaling most CSS properties with unit values like margin, padding, border-radius, or even box-shadow.

      The mechanism automatically calculates the appropriate values based on the dimensions of the browser viewport. It will be compiled into calc() functions with a mix of rem and viewport units to enable the responsive scaling behavior.

      Using RFS

      The mixins are included in Bootstrap and are available once you include Bootstrap’s scss. RFS can also be installed standalone if needed.

      Using the mixins

      The rfs() mixin has shorthands for font-size, margin, margin-top, margin-right, margin-bottom, margin-left, padding, padding-top, padding-right, padding-bottom, and padding-left. See the example below for source Sass and compiled CSS.

      .title {
      @include font-size(4rem);
      }
      
      .title {
      font-size: calc(1.525rem + 3.3vw);
      }
      
      @media (min-width: 1200px) {
      .title {
      font-size: 4rem;
      }
      }
      

      Any other property can be passed to the rfs() mixin like this:

      .selector {
      @include rfs(4rem, border-radius);
      }
      

      !important can also just be added to whatever value you want:

      .selector {
      @include padding(2.5rem !important);
      }
      

      Using the functions

      When you don’t want to use the includes, there are also two functions:

      • rfs-value() converts a value into a rem value if a px value is passed, in other cases it returns the same result.
      • rfs-fluid-value() returns the fluid version of a value if the property needs rescaling.

      In this example, we use one of Bootstrap’s built-in responsive breakpoint mixins to only apply styling below the lg breakpoint.

      .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 */
      }
      }
      

      Extended documentation

      RFS is a separate project under the Bootstrap organization. More about RFS and its configuration can be found on its GitHub repository.

      返回頂部
      主站蜘蛛池模板: 3D动漫精品一区二区三区| 中文字幕一区二区三| 日本一区二区三区在线视频观看免费 | 亚洲综合av一区二区三区 | 99精品国产高清一区二区三区| 亚洲av无码片vr一区二区三区| 国产AV午夜精品一区二区三区| 一区二区三区在线免费| 国产视频一区二区在线观看| 偷拍激情视频一区二区三区| 久久精品视频一区二区三区| 亚洲韩国精品无码一区二区三区| 一区二区手机视频| 日韩一区二区三区视频| 日韩精品国产一区| 日韩一区二区三区不卡视频| 手机福利视频一区二区| 亚洲AV成人精品日韩一区| 亚洲一区二区三区高清不卡 | 人妻体内射精一区二区三区| 国产亚洲无线码一区二区| 东京热无码一区二区三区av| 精品国产日韩亚洲一区| 成人精品视频一区二区三区 | 国产福利电影一区二区三区,亚洲国模精品一区 | 国产福利一区视频| 国产精品日韩一区二区三区| 国产人妖在线观看一区二区| 精品理论片一区二区三区| 日韩在线一区高清在线| 无码日韩AV一区二区三区| 后入内射国产一区二区| 夜夜爽一区二区三区精品| 精品一区二区无码AV| 免费一区二区无码东京热| 无码精品一区二区三区免费视频| 一区二区免费视频| 国产精品日韩欧美一区二区三区| 日韩精品一区二区三区中文3d | 国产成人av一区二区三区在线| 日本强伦姧人妻一区二区|