Button groups
Buttons placed inline need to be spaced and usually the is some extra margin before and/or after the group of button. The
.buttons
class does this.
<div class="buttons">
<button class="btn">Primary button</button>
<button class="btn-secondary">Secondary button</button>
</div>
Buttons in a group get some top/bottom margin.
(also: check here that <a>
tag buttons and <button>
buttons look similar)
<a>
tag buttons
Real <button>
Reprovinci Frontend Toolkit 🚀
The scaffolding we work with. It contains a responsive 24 column grid, setups for colors, typography, spacings and some prototyping classes. It is not a full fledged css framework. It only contains some layout classes. It's the start of your own creativity 🎨
Typography
The typography is based on a scaling font size with a min and max size. By setting the variables
$font-size-min
and
$font-size-max
the html font will be the min font until breakpoint-md and the gradualy scale up to max size. This is done with clamp:
clamp(#{$font-size-min}, #{$font-size-scaling}, #{$font-size-max})
. Try scaling up and down this browser viewport and see the result.
Text styles
There 2 text stylings. UI text is the default. Used for text outside dedicated body copy. When needed, body copy placed inside a
.text
class can be styled differently from the UI type. By default they are the same.
Some text in the UI
Intro text is available with the class .intro
. Lorem ipsum dolor sit amet. Sapiente molestias modi ratione aliquam unde, commodi corporis hic vitae sint.
Lorem ipsum dolor, sit amet consectetur adipisicing elit. Sapiente molestias modi ratione aliquam unde, commodi corporis hic vitae sint mollitia numquam eos. Veritatis blanditiis obcaecati, maiores perferendis quasi exercitationem aliquam.
Some text as body copy
Intro text is available with the class .intro
. Lorem ipsum dolor sit amet. Sapiente molestias modi ratione aliquam unde, commodi corporis hic vitae sint.
Lorem ipsum dolor, sit amet consectetur adipisicing elit. Sapiente molestias modi ratione aliquam unde, commodi corporis hic vitae sint mollitia numquam eos. Veritatis blanditiis obcaecati, maiores perferendis quasi exercitationem aliquam.
H1Lorem ipsum dolor sit amet
H2Lorem ipsum dolor sit amet
H3Lorem ipsum dolor sit amet
H4Lorem ipsum dolor sit amet
H5Lorem ipsum dolor sit amet
H6Lorem ipsum dolor sit amet
H1Lorem ipsum dolor sit amet
H2Lorem ipsum dolor sit amet
H3Lorem ipsum dolor sit amet
H4Lorem ipsum dolor sit amet
H5Lorem ipsum dolor sit amet
H6Lorem ipsum dolor sit amet
SCSS Variables
// type settings $font-family-base: sans-serif !default; $font-size-base: 18px !default; // px $font-size-min: round(($font-size-base * 0.777)) !default; // px $font-size-max: $font-size-base !default; // px // font size variations $font-size-sm: .85rem !default; $font-size-md: 1rem !default; $font-size-lg: 1.2rem !default; // line-height $line-height-base: 1.65 !default; $line-height-condensed: 1.2 !default; // headings // ratio base works out of the box, but change to your needs $headings-font: $font-family-base !default; $headings-font-weight: bold !default; $headings-line-height: $line-height-condensed !default; $headings__small-size: $font-size-sm !default; $headings__small-color: $color-primary !default; // heading sizes can be regular rem sizes // these defaults are are a ratio based on the line-height $h1-size: $font-size-md * $line-height-base * $line-height-base !default; $h2-size: $font-size-md * $line-height-base !default; $h3-size: $font-size-md * (1 + (($line-height-base - 1) / 2)) !default; $h4-size: $font-size-md !default; $h5-size: $font-size-md !default; $h6-size: $font-size-md !default;
Colors
Defined Grayscales
$color-black
$color-gray-extra-dark
$color-gray-dark
$color-gray
$color-gray-light
$color-gray-extra-light
$color-white
Defined colors
$color-blue
$color-green
Applied colors
$color-primary
$color-secondary
$color-loud
$color-soft
Font colors
The default font color is stored in $color-font
and as class available as .color-font
When text is overlayed on images it's sometimes useful to be able to specifically apply dark or light font. $color-font-dark
and $color-font-light
are the variables for this. These are available as classes .color-font-dark
and .color-font-light
The default font color
Lorem, ipsum dolor, sit amet consectetur adipisicing elit. Assumenda debitis eligendi repudiandae quisquam, quis ut alias optio molestiae non tempore.
The light font on dark backgrounds
Lorem ipsum dolor sit amet, consectetur, adipisicing elit. Praesentium, voluptatum, fuga. Molestias cum, molestiae officia, iure ipsa .
The dark font on light backgrounds
Lorem ipsum dolor sit amet consectetur adipisicing elit. Expedita architecto vel tempora rem ratione, asperiores consequatur, optio, perferendis fugit et eo.
Grid
A 24 column grid. Well, actually 24 + 4 outer columns: one for site padding and one to flex
.grid__container
@include grid-pos(1,24)
.grid__container--sm
@include grid-pos(2,22)
.grid__container--xs
@include grid-pos(3,20)
.grid__extended
@include grid-abspos(2,26)
.grid__full
@include grid-abspos(1,28)
.grid__left
@include grid-pos(1,12)
.grid__right
@include grid-pos(13,12)
.grid__left-extended
@include grid-abspos(2,13)
.grid__right-extended
@include grid-pos(13,13)
.grid__left-full
@include grid-abspos(1,14)
.grid__right-full
@include grid-pos(13,14)
For quickly applying a container without a .grid as wrapper the .container
class is supplied.
.container
Grid columns
The variable $grid-columns
defines the amount of columns in the grid center. 24 is the default. Override it when needed.
Grid mixin
The grid is based on a mixin. If you need an alternative grid count on some places you can use the mixin:
// @mixin grid($grid-columns, $grid-padding, $grid-spacer) .grid-with-12-columns { @include grid(12); }
Button groups
Buttons placed inline need to be spaced and usually the is some extra margin before and/or after the group of button. The
.buttons
class does this.
<div class="buttons">
<button class="btn">Primary button</button>
<button class="btn-secondary">Secondary button</button>
</div>
Buttons in a group get some top/bottom margin.
(also: check here that <a>
tag buttons and <button>
buttons look similar)
<a>
tag buttons
Real <button>
Text links
Read more
This is some text. Lorem ipsum, dolor sit amet, consectetur adipisicing elit. Officia, voluptatem ipsa quia quisquam.
Link forward
This is some text. Lorem ipsum, dolor sit amet, consectetur adipisicing elit. Officia, voluptatem ipsa quia quisquam.
Link back
This is some text. Lorem ipsum, dolor sit amet, consectetur adipisicing elit. Officia, voluptatem ipsa quia quisquam.
Read more in a soft box
This is some text. Lorem ipsum, dolor sit amet, consectetur adipisicing elit. Officia, voluptatem ipsa quia quisquam.
Link forward in a soft box
This is some text. Lorem ipsum, dolor sit amet, consectetur adipisicing elit. Officia, voluptatem ipsa quia quisquam.
Link back in a soft box
This is some text. Lorem ipsum, dolor sit amet, consectetur adipisicing elit. Officia, voluptatem ipsa quia quisquam.
Read more in a LOUD box
This is some text. Lorem ipsum, dolor sit amet, consectetur adipisicing elit. Officia, voluptatem ipsa quia quisquam.
Link forward in a LOUD box
This is some text. Lorem ipsum, dolor sit amet, consectetur adipisicing elit. Officia, voluptatem ipsa quia quisquam.
Link back in a LOUD box
This is some text. Lorem ipsum, dolor sit amet, consectetur adipisicing elit. Officia, voluptatem ipsa quia quisquam.
Box
Colored boxes to place attention on content. Boxes have some padding and coloring.
Default boxes are .box--soft
for content that needs just a bit of attention and
.box--loud
for content that needs a lot of attention.
Soft box
Lorem ipsum dolor sit amet consectetur, adipisicing elit. Dicta autem facilis optio voluptatum ab aut molestiae sint non. Quasi non nostrum in dolores eum rerum explicabo totam rem minus asperiores.
Loud box
Lorem ipsum dolor sit amet consectetur, adipisicing elit. Dicta autem facilis optio voluptatum ab aut molestiae sint non. Quasi non nostrum in dolores eum rerum explicabo totam rem minus asperiores.
Literal box classes
Soft and loud are more flexible to style but for quick markup the literal classes
.box--primary
and .box--secondary
are available.
Primary colored box
Lorem ipsum dolor sit amet consectetur, adipisicing elit. Dicta autem facilis optio voluptatum ab aut molestiae sint non. Quasi non nostrum in dolores eum rerum explicabo totam rem minus asperiores.
Secondary colored box
Lorem ipsum dolor sit amet consectetur, adipisicing elit. Dicta autem facilis optio voluptatum ab aut molestiae sint non. Quasi non nostrum in dolores eum rerum explicabo totam rem minus asperiores.
Box mixin
If you need more box colors create them with the mixin:
// @mixin box($bgcolor, $color) { .black-box { @include box(black, hotpink); }
Spacing
The heights of these blocks represent the different spaces:
$space-1
$space-2
$space-3
$space-4
$space-5
The margin between these blocks represent the different spaces:
$space-1
$space-2
$space-3
$space-4
$space-5
SVG mixin
Place icons before/after/in elements. Common usage example:
Common usage
a.mylink { @include svg--after('arrow-right', 1em, .5em) }
places the image arrow-right.svg in the background of an inline-block element after the a.mylink
svg--before(img, width height)
places the icon inline before the element
svg--abs(img, width, height)
places it in an absolute positioned after the element.
svg(img, width height)
places the icon in the background of the element itself
The icon source
The icon source can either be a base64 encoded string or an icon name. Some default icons are defined in _variables/
The root folder the icons is by default ../images but can be set with the variable
$svg__root: '../images';
svg--before($rocket, 1.5em, 1.5em)
An icon before this text
svg--after($rocket, 1.5em, 1.5em)
An icon after this text
svg--abs($rocket, 1.5em, 1.5em)
An icon abs positioned
svg($rocket, 2em, 2em)
Replace text
svg--after
svg--abs
svg($rocket, 2em, 2em)