Figuration v4.4 is now available!

Quick Start

Get started using Figuration today with our CDN links and starter templates.

Get Started

Looking to quickly add Figuration to your project? Use the CDN links found below. Prefer using a package manager or need to download the source files? Head to the downloads page for more options.

Using the CDN

Quickly add Figuration to your project by using the CDN services provided for free by the awesome folks over at jsDelivr. If you are using a package manager, or need to download the source files, more information can be found on the download page.

CSS

Copy-paste the stylesheet <link> into your <head> before all other stylesheets to load our CSS.

<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/figuration@4.4.1/dist/css/figuration.min.css" integrity="sha384-y4BY/ij1absrGLFQfSimJZpdYYlqZm3trwCtEjewUSo3g2echS1N7Q+XSFmxjcHU" crossorigin="anonymous">

JavaScript

Figuration's widgets, our interactive components, require jQuery and Popper.js, along with our own JavaScript library to function. Add jQuery Popper, and our JavaScript widgets either in the <head>, or near the end of your pages, right before the closing </body> tag. Be sure to place jQuery and Popper first, as our code depends on them.

Our widgets work with either the full version of jQuery, or the jQuery's slim build.

<script src="https://code.jquery.com/jquery-3.7.1.slim.min.js" integrity="sha384-5AkRS45j4ukf+JbWAfHL8P4onPA9p0KwwP7pUdjSQA3ss9edbJUJc/XcYAiheSSz" crossorigin="anonymous"></script>
<script src="https://cdn.jsdelivr.net/npm/popper.js@1.16.1/dist/umd/popper.min.js" integrity="sha384-9/reFTGAW83EW2RDu2S0VKaIzap3H66lZH81PoYlFhbGU+6BZp6G7niu735Sk7lN" crossorigin="anonymous"></script>
<script src="https://cdn.jsdelivr.net/npm/figuration@4.4.1/dist/js/figuration.min.js" integrity="sha384-gGDsn/6ZOImDd4DHt747nYhNPVTfAIgdxqEgnEBHruXlDd6/FBjLhXnDlYVPefsu" crossorigin="anonymous"></script>

Basic Template

Be sure to have your pages set up with the latest design and development standards. That means using the HTML5 doctype, and including the viewport meta tag to allow responsive behaviors.

Essentially something like this:

<!DOCTYPE html>
<html lang="en-us">
<head>
<!-- Required meta tags -->
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">

<title>Hello, world!</title>

<!-- Figuration CSS -->
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/figuration@4.4.1/dist/css/figuration.min.css" integrity="sha384-y4BY/ij1absrGLFQfSimJZpdYYlqZm3trwCtEjewUSo3g2echS1N7Q+XSFmxjcHU" crossorigin="anonymous">

<!-- Figuration JS and dependencies -->
<script src="https://code.jquery.com/jquery-3.7.1.slim.min.js" integrity="sha384-5AkRS45j4ukf+JbWAfHL8P4onPA9p0KwwP7pUdjSQA3ss9edbJUJc/XcYAiheSSz" crossorigin="anonymous"></script>
<script src="https://cdn.jsdelivr.net/npm/popper.js@1.16.1/dist/umd/popper.min.js" integrity="sha384-9/reFTGAW83EW2RDu2S0VKaIzap3H66lZH81PoYlFhbGU+6BZp6G7niu735Sk7lN" crossorigin="anonymous"></script>
<script src="https://cdn.jsdelivr.net/npm/figuration@4.4.1/dist/js/figuration.min.js" integrity="sha384-gGDsn/6ZOImDd4DHt747nYhNPVTfAIgdxqEgnEBHruXlDd6/FBjLhXnDlYVPefsu" crossorigin="anonymous"></script>
</head>
<body>
<h1>Hello, world!</h1>
</body>
</html>

That should be all you need for overall page requirements. Visit the Layout docs to begin building out your content and components.

Right-to-left Support

Working with a language that reads from right to left? Use the rtl version of the Figuration CSS. The markup and classes are the same between the ltr and rtl versions of Figuration.

Pro Tip! We have included a way to preview layout, component, and widget behavior with the documentation. Use the settings menu in the top navbar to change between text directions.

The steps needed to switch from ltr to rtl mode are:

  • Add the dir="rtl" attribute to the <html> tag.
  • Update the lang attribute on the <html> tag to match the language being used. Refer to this list of language codes provided by the US Library of Congress to find the one you require.
    <!-- This example is for a right-to-left Arabic layout -->
    <html lang="ar" dir="rtl">
  • Load the rtl version of the Figuration CSS. Load this in place of the default Figuration CSS.
    <!-- Figuration RTL CSS -->
    <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/figuration@4.4.1/dist/css/figuration-rtl.min.css" integrity="sha384-ehO3XH+8zybNcfE1mpLZIJTrS43BcwQWpNs+Wf6+lnoxECfMoldASqkqPbidM8o8" crossorigin="anonymous">

When complete, the basic template for a right-to-left markup should look like the following example.

<!DOCTYPE html>
<html lang="ar" dir="rtl">
<head>
<!-- Required meta tags -->
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">

<title>Hello, world!</title>

<!-- Figuration RTL CSS -->
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/figuration@4.4.1/dist/css/figuration-rtl.min.css" integrity="sha384-ehO3XH+8zybNcfE1mpLZIJTrS43BcwQWpNs+Wf6+lnoxECfMoldASqkqPbidM8o8" crossorigin="anonymous">

<!-- Figuration JS and dependencies -->
<script src="https://code.jquery.com/jquery-3.7.1.slim.min.js" integrity="sha384-5AkRS45j4ukf+JbWAfHL8P4onPA9p0KwwP7pUdjSQA3ss9edbJUJc/XcYAiheSSz" crossorigin="anonymous"></script>
<script src="https://cdn.jsdelivr.net/npm/popper.js@1.16.1/dist/umd/popper.min.js" integrity="sha384-9/reFTGAW83EW2RDu2S0VKaIzap3H66lZH81PoYlFhbGU+6BZp6G7niu735Sk7lN" crossorigin="anonymous"></script>
<script src="https://cdn.jsdelivr.net/npm/figuration@4.4.1/dist/js/figuration.min.js" integrity="sha384-gGDsn/6ZOImDd4DHt747nYhNPVTfAIgdxqEgnEBHruXlDd6/FBjLhXnDlYVPefsu" crossorigin="anonymous"></script>
</head>
<body>
<h1>Hello, world!</h1>
</body>
</html>

Important Markup

Figuration depends a handful of important global styles and settings that you'll need to be aware of when using it, all of which are almost exclusively geared towards the normalization of cross browser styles.

HTML5 Doctype

Figuration requires the use of the HTML5 doctype. Without it, you'll see some incomplete styling.

<!DOCTYPE html>
<html lang="en-us">
...
</html>

Responsive Meta Tag

Figuration is developed mobile first, a strategy in which we optimize code for mobile devices first and then scale up components as necessary using CSS media queries. To ensure proper rendering and touch zooming for all devices, add the responsive viewport meta tag to your <head>.

<meta name="viewport" content="width=device-width, initial-scale=1">

You can see an example of this in action in the basic template.

Box-sizing

For more straightforward sizing in CSS, we switch the global box-sizing value from content-box to border-box. This ensures padding does not affect the final computed width of an element, but it can cause problems with some third party software like Google Maps and Google Custom Search Engine.

On the rare occasion you need to override it, use something like the following:

.selector-for-some-widget {
-webkit-box-sizing: content-box;
-moz-box-sizing: content-box;
box-sizing: content-box;
}

With the above snippet, nested elements—including generated content via ::before and ::after—will all inherit the specified box-sizing for that .selector-for-some-widget.

Learn more about box model and sizing at CSS Tricks.

Reboot

For improved cross-browser rendering, we use Bootstrap's Reboot to correct inconsistencies across browsers and devices while providing slightly more opinionated resets to common HTML elements.

Community

We are just getting started so there is not much of a community yet. Please spread the word and help us expand.