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, 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.
- Follow @figuration_org on Twitter