abrusco.css

Prototype Fast,
Deploy at Once

Utility-first CSS library that is not trying to be everything. Merely a set of tools that you always bring along. Responsive, lightweight, and customizable at its core.

Getting Started

npm install abrusco --save-dev

Or use the CDN Link.

<link rel="stylesheet" href="https://unpkg.com/abrusco/css/abrusco.min.css">

Please note that this link always points to the most recent version. It is better practice to either point to the exact version, download the library to your server, or build your custom configuration.

Hacking Abrusco

Many of the properties are set up as CSS custom variables. This is the secret sauce that allows abrusco to be your own library. Change colors and typography to align with your branding or change responsivity breakpoints that work for you. Low specificity selectors don’t override your cascade. You can use full library or take only the parts that you want.

.h1 { font-size: var(--h1); }
.h2 { font-size: var(--h2); }
.h3 { font-size: var(--h3); }
.h4 { font-size: var(--h4); }
.h5 { font-size: var(--h5); }
.h6 { font-size: var(--h6); }

:root {
  --h1: 2.5rem;
  --h2: 2.0rem;
  --h3: 1.5rem;
  --h4: 1.25rem;
  --h5: 1.125rem;
  --h6: 1.0625rem;
}

Example of typography headings scale.

Customize

If you wish to extend the library or create your own custom build — you can do that; either with postcss builder or the abrusco’s command-line interface. There were no special plugins made for this library. Abrusco is trying to be as much standards compliant as possible.

CLI

npm install abrusco-cli

Depending on your preference, you can do either local or global install.

$ abrusco --help

  CLI for Abrusco CSS.

  Usage
    $ abrusco <input.css>

  Options
    -o, --output Output file
    -m, --minify Minify the output stylesheet
    -w, --watch  Watch CSS source directory for changes
    --novars     Do not preserve Custom Properties

  Example
    $ abrusco src/master.css -o dist/bundle.css
    $ abrusco src/master.css -o dist/bundle.css --minify
    $ abrusco src/master.css -o dist/bundle.css --watch

Main Structure

Start quickly, adjust as you grow.

@import 'abrusco';

/*

  There you go!
  ...you can add your own styles here
  ...and overwrite abrusco's internal variables

*/

or

@import 'abrusco/base';
@import 'abrusco/modules';

/*

  Best place to add your own components that
  can be adjusted with the utility classes.

*/

@import 'abrusco/utils';
@import 'abrusco/debug';

/*

  More utilities or styles of your own can be
  placed here.

*/

or

@import 'reset-css';
@import 'abrusco/variables';
@import 'abrusco/normalize';
@import 'abrusco/mod/copy';
@import 'abrusco/mod/div';
@import 'abrusco/mod/ellipsis';
@import 'abrusco/mod/fit';
@import 'abrusco/mod/inset';
@import 'abrusco/util/type';
@import 'abrusco/util/visibility';
@import 'abrusco/util/overflow';
@import 'abrusco/util/position';
@import 'abrusco/util/grid';
@import 'abrusco/util/margin';
@import 'abrusco/util/padding';
@import 'abrusco/util/border';
@import 'abrusco/util/color';
@import 'abrusco/util/background';
@import 'abrusco/util/cursor';
@import 'abrusco/debug';

Either grab them all or use only what you need. Don’t let any framework force anything on you. Do your own thing. No special configuration files, no new language to learn. It’s just CSS.