Bootstrap 4 Font Sizes

Bootstrap 4 Font Sizes

I wrote a small package that generates font-size classes for defined pixels for all breakpoints in Bootstrap 4. It is useful for designs where the font size of a text is not linearly scaled and using REM is not helping. For example if you are using REM for spacing (.p/.m classes) and for font sizes the texts are unreadable on smaller resolutions when you scale down the base font size. By using for example font-size-20 font-size-md-16 classes you can fix this issue.

By default the SCSS generates font-size classes based on your $grid-breakpoints map. If you modify the required breakpoints for your project the change will be applied accordingly for font-size classes too.

Installation

npm i -D bootstrap-font-sizes
yarn add -D bootstrap-font-sizes

Options

$max-font-size

By default the code is generating classes from 100 to 0 with font-size: 100px to font-size: 0px values for each breakpoint. It is rare case that you will need all these classes generated. To change the maximum limit of the generated font sizes you can use the variable $max-font-size. Changing the value will generate font-size classes from the specified value to 0 by default or the specified minimum by $min-font-size.

$min-font-size

Similarly to $max-font-size you can change the lowest generated font size.

$font-sizes

Lists of all font-size classes that will be generated for each breakpoint. This list overwrites the $max-font-size and $min-font-size options. Example:

$font-sizes: (36, 24, 20, 16, 14, 12, 10);

Example output

Below you can see the output for the following font sizes:

$font-sizes: (16, 12);
@import "node_modules/bootstrap-font-sizes/font-sizes";

Output

.font-size-16 {
  font-size: 16px !important; }
.font-size-12 {
  font-size: 12px !important; }

@media (min-width: 576px) {
  .font-size-sm-16 {
    font-size: 16px !important; }
  .font-size-sm-12 {
    font-size: 12px !important; } }

@media (min-width: 768px) {
  .font-size-md-16 {
    font-size: 16px !important; }
  .font-size-md-12 {
    font-size: 12px !important; } }

@media (min-width: 992px) {
  .font-size-lg-16 {
    font-size: 16px !important; }
  .font-size-lg-12 {
    font-size: 12px !important; } }

@media (min-width: 1200px) {
  .font-size-xl-16 {
    font-size: 16px !important; }
  .font-size-xl-12 {
    font-size: 12px !important; } }
Copyright © 2006 - 2019 Ivan Dokov. All rights reserved.