FVSCL

An experiment in harmonious Fluid Visual Scaling for typography a Component Library using CSS Variables and Svelte.

This screen is undefinedpx wide so the base size for FVSCL is undefinedpx.  Resize your browser or hit fiddle to see what happens when scales are adjusted →

Current Scale: undefined

undefinedpx
undefinedpx
undefinedpx
undefinedpx
undefinedpx
undefinedpx
undefinedpx
undefinedpx

Demos

Adjust the sliders to see how the demos work at different screen widths. They're all iframes so depending on factors your computer may or may not 💥.
If so, sorry! You can always click the link to visit the site.
Slack
100 %

Slack reskinned using various fvscl components.

Overridden CSS variables:

:root {
  --min-size: 14; 
  --max-size: 18; 
  --min-ratio: 1.1;
  --max-ratio: 1.4;
}

Visit full site or see the code.

Gitlab
100 %

Google Forms reskinned using various fvscl components.

Overridden CSS variables:

:root {
  --min-size: 14;
  --max-size: 20;
  --min-width: 720;
  --min-ratio: 1.1;
  --max-ratio: 1.2;
}

Visit full site or see the code.

Google
100 %

Google Forms reskinned using various fvscl components.

Overridden CSS variables:

:root {
  --min-size: 14;
  --max-size: 16;
  --min-ratio: 1.2;
  --max-ratio: 1.3;
  --color-light: white;
}
body {
  --color-dark: #3c4043;
  --color-primary: #1a73e8;
}

Visit full site or see the code.

Jekyll (& Hyde)
100 %

Using Gutenberg as a source an entire book has been "typeset" using fvscl components.

Overridden CSS variables:

:root {
  --font-family-base: serif;
  --min-size: 16;
  --max-size: 24;
  --min-ratio: 1.1;
  --max-ratio: 1.414;
}

Visit full site or see the code.

Forms
100 %

Google Forms reskinned using various fvscl components.

Overridden CSS variables:

:root {
  --min-size: 14;
  --max-size: 22;
  --min-ratio: 1.1;
  --max-ratio: 1.234;
}

Visit full site or see the code.

Typography

h1 currently has a font-size of undefinedpx

h2 currently has a font-size of undefinedpx

h3 currently has a font-size of undefinedpx

h4 currently has a font-size of undefinedpx

h5 currently has a font-size of undefinedpx
h6 currently has a font-size of undefinedpx

Text

Base

The font-size of body text is undefinedpx.

Excepteur mollit tempor occaecat commodo sit laborum esse nostrud magna cupidatat nisi. Minim consectetur velit ea sint dolore et elit dolor non voluptate commodo excepteur. Deserunt veniam tempor eiusmod proident quis sint aliquip voluptate proident voluptate exercitation Lorem ea. Esse esse fugiat fugiat consequat labore Lorem cillum magna culpa magna ullamco laborum et. Sunt ad duis proident qui et. Cupidatat magna veniam magna duis sit eu nisi cupidatat incididunt esse do fugiat nostrud in. Magna Lorem quis officia cillum occaecat ad dolor ea sint aliquip.

Pariatur commodo proident consequat laborum amet excepteur nisi fugiat minim. Labore et sunt magna dolor ex sit laboris consectetur deserunt culpa. Deserunt incididunt dolor fugiat reprehenderit esse irure commodo consequat occaecat amet incididunt aliqua. Quis et laborum laborum reprehenderit adipisicing veniam dolor ut sit magna exercitation do amet cupidatat.

Sm

The font-size of sm text is undefinedpx.

Quis incididunt est occaecat mollit reprehenderit consectetur do sunt excepteur aute excepteur. Reprehenderit Lorem ea eu nisi labore nisi nisi quis non proident et elit. Veniam fugiat sunt sit do sit excepteur cupidatat eu eiusmod voluptate sunt velit. Labore ipsum in sit aute Lorem qui ut.

Enim consequat commodo exercitation Lorem laboris esse reprehenderit. Tempor aliquip exercitation Lorem quis. Qui ea duis do commodo ex. Aliquip dolor et fugiat enim reprehenderit ad voluptate in magna dolore ex adipisicing commodo.

Laboris minim ea cillum cillum. Consectetur fugiat tempor cillum magna consequat id dolore laborum exercitation reprehenderit eiusmod duis. Cillum anim aliquip et veniam id laboris. Ad magna nulla anim Lorem mollit ex. Occaecat anim ea incididunt pariatur reprehenderit sunt sunt aliqua voluptate nostrud mollit officia.

Xs

The font-size of xs text is undefinedpx.

Culpa mollit laboris proident qui nisi elit eiusmod do eu voluptate ex velit. Aliqua laboris do ad id. Quis labore sunt officia ea. Voluptate sint sint incididunt pariatur elit nisi excepteur ipsum aliquip. Laboris non ipsum aute anim. Velit elit ad cupidatat dolor pariatur commodo esse mollit ex anim nulla.

Aliqua esse et veniam consectetur. Officia nulla id aliqua duis anim voluptate nostrud minim adipisicing nulla sint ex officia. Aute elit dolore voluptate non excepteur pariatur deserunt qui officia tempor culpa aliqua consequat.

Eiusmod in labore voluptate aute pariatur aliqua labore irure dolor deserunt cupidatat consequat aliqua irure. Et non et ullamco nulla nostrud. Ipsum aute tempor dolor laboris duis cillum ipsum commodo laboris eiusmod. Do dolor mollit est Lorem.

Buttons

Font Size
undefinedpx undefinedpx undefinedpx undefinedpx
Line Height
undefinedpx undefinedpx undefinedpx undefinedpx
↔ Padding
undefinedpx undefinedpx undefinedpx undefinedpx
↕ Padding
undefinedpx undefinedpx undefinedpx undefinedpx
16 px
Base size on small viewports
1.125
Ratio between steps for small viewports
22 px
Base size on larger viewports
1.333
Ratio between steps for larger viewports