1.0.6 ā€¢ Published 1 year ago

fab-unit v1.0.6

Weekly downloads
-
License
MIT
Repository
github
Last release
1 year ago

FabUnit šŸŖ„

FabUnit is a Sass function that helps you to define a perfectly responsive value without any effort. It takes a minimum and an optimum value, spits out a calculation to your css property, considering the screen width, aspect ratio and the specified anchor points. No media queries, no break points, no design jumps. A formula that controls and synchronises your whole project.

fab-unit(12, 16); šŸŖ„

ā†“ Features
ā†“ Install
ā†“ Use
ā†“ Options
ā†“ Links

Ā 

šŸ’š Features

  • takes min and opt value
  • 4 customisable anchor points
  • improved tablet view (stretch opt screen)
  • auto max size, depending on the last anchor point (wrapper)
  • considers aspect ratio
size
|                                     ā—‹ ā€¢ ā€¢ ā€¢
|                               ā€¢     |
|                 ā—‹ ā€¢ ā€¢ ā€¢ ā—‰           |
|           ā€¢     |       |           |
| ā€¢ ā€¢ ā—‰           |       |           |
|     |           |       |           |
|     |     ā‰ˆ     |       |     ā‰ˆ     |
ā– ---min---fluid---opt---opt---fluid---max----- screen
          m=auto               m=1
      |            |      |           |
      Mobile              Desktop     Wrapper
      Design              Design      (optional)

ā†’ FabUnit Visualiser

Ā 

šŸ“€ Install

npm i fab-unit
@import "fab-unit";

html {
  font-size: calc(100% * (#{strip-units($fab-rem-base)} / 16)); // px to rem
}

Ā 

šŸš€ Use

body {
    font-size: fab-unit(16, 22); // min, opt
}

ā†’ Example CodeSandbox

Ā 

šŸ¬ Options

VariableDescriptionDefault
$fab-screen-minanchor point mobile375
$fab-screen-opt-startanchor point desktop (from ā€¦)1024
$fab-screen-opt-endanchor point desktop (ā€¦ to)1440
$fab-screen-maxanchor point max layout wrapper1800*
$fab-aspect-ratioaspect ratio factor (improvement for wider screens)math.div(16, 9)

* set to false if no max wrapper is needed (elastic upwards)

ā†’ FabUnit Visualiser

Ā 

Overwrite default values globally

$fab-screen-min: 300;
$fab-screen-opt-start: 768;
$fab-screen-opt-end: 1024;
$fab-screen-max: 2000;
$fab-aspect-ratio: math.div(3, 2);

body {
    font-size: fab-unit(16, 22); // min, opt
}

h1 {
  font-size: fab-unit(36, 60);
  margin-block: fab-unit(10, 16);
}

.wrapper {
  max-width: rem($fab-screen-max);
  margin-inline: auto;
}

ā†’ Example CodeSandbox

Ā 

Set custom arguments locally (exceptionally)

.thing {
    /* min, opt, custom anchor points, aspect ratio šŸŖ„ */
    height: fab-unit(16, 22, 300, 768, 1024, 2000, math.div(4, 3));
}

Ā 

šŸ”„ Links

ā†’ FabUnit Visualiser
ā†’ Example CodeSandbox
ā†’ Article Smashing Magazine