CSS utility classes
JavaScript CSS
Clone or download
Latest commit 2970ad7 Apr 28, 2017
Failed to load latest commit information.
.gitignore Add .gitignore Mar 26, 2014
CHANGELOG.md 3.0.0 Apr 28, 2017
LICENSE.md Initial public release Oct 1, 2012
README.md Add `suitcss-utils-flex` Nov 20, 2015
index.css Add `suitcss-utils-flex` Nov 20, 2015
index.js Add `suitcss-utils-flex` Nov 20, 2015
package.json 3.0.0 Apr 28, 2017
yarn.lock Update dependencies to latest Apr 28, 2017


SUIT CSS utilities

The full collection of SUIT CSS utility classes. Requires suitcss-preprocessor or similar in your build process, if you choose to use the packages directly.

Read more about SUIT CSS's design principles.


…is a convenient way to install all the SUIT utility packages:


Utilities are low-level. They have a very narrow scope and may end up being used frequently, due to their separation from the semantics of the document and the theming of a component. As a result, once a class is in significant use great care should be taken when introducing any modifications to it.

Utilities make use of !important to ensure that their styles always apply ahead of those defined in a component's dedicated CSS.


Each utility class modifies a single trait (a small collection of similar styles).

To apply a trait, or a combination of traits to an element, add the corresponding class directly to the HTML.

Together, they can form a wide variety of UI patterns from simple principles. Although you won't always want to use combinations of utilities to generate more complicated patterns, the option is there. Refactoring a component's HTML to move particular utility traits into the component's own styles is a relatively simple task.

The following contrived example would be a structural template for a simple Tweet-like component. You would then create a new CSS file for the component to contain any additional, specific styles (often a "skin" or "theme") needed to fully realise the component.

<article class="Tweet">
  <a class="u-floatRight" href="{{permalinkUrl}}">
  <a class="u-floatLeft" href="{{userUrl}}">
    <img src="{{userAvatar}}" alt="{{username}}'s avatar">
  <div class="u-sizeFill">
    <a class="u-linkComplex" href="{{userUrl}}">
      <span class="u-linkComplexTarget">{{fullname}}</span>

    <p class="u-textBreak">{{text}}</p>

      <a class="u-linkComplex" href="#" role="button">
        <span class="Icon Icon--reply"></span>
        <span class="u-linkComplexTarget">Reply</span>
      <a href="#" role="button">
        <span class="Icon Icon--favorite"></span>
        <span class="u-hiddenVisually">Favorite</span>


Install Node (comes with npm).

npm install

To generate a build:

npm run build

Browser support

  • Google Chrome (latest)
  • Opera (latest)
  • Firefox 4+ (28+ for flex)
  • Safari 5+ (6.1+ for flex)
  • Internet Explorer 9+ (10+ for flex)