1 Atoms
Atoms are the basic building blocks of matter. Applied to web interfaces, atoms are our HTML tags, such as a form label, an input or a button.
Atoms can also include more abstract elements like color palettes, fonts and even more invisible aspects of an interface like animations.
Like atoms in nature they’re fairly abstract and often not terribly useful on their own. However, they’re good as a reference in the context of a pattern library as you can see all your global styles laid out at a glance.
1.2 Typography
Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Morbi commodo, ipsum sed pharetra gravida, orci magna rhoncus neque, id pulvinar odio lorem non turpis. Nullam sit amet enim. Suspendisse id velit vitae ligula volutpat condimentum. Aliquam erat volutpat.
1.2.1 Headings
All HTML headings, <h1> through <h6>, are available. .h1 through .h6
classes are also available, for when you want to match the font styling of a
heading but still want your text to be displayed inline.
Header 1
Header 2
Header 3
Header 4
Header 5
Header 6
Style header element as h1
Header 1
Header 2
Header 3
Header 4
Header 5
Header 6
Style header element as h2
Header 1
Header 2
Header 3
Header 4
Header 5
Header 6
Style header element as h3
Header 1
Header 2
Header 3
Header 4
Header 5
Header 6
Style header element as h4
Header 1
Header 2
Header 3
Header 4
Header 5
Header 6
Style header element as h5
Header 1
Header 2
Header 3
Header 4
Header 5
Header 6
Style header element as h6
Header 1
Header 2
Header 3
Header 4
Header 5
Header 6
<h1 class="{$modifiers}">Header 1</h1>
<h2 class="{$modifiers}">Header 2</h2>
<h3 class="{$modifiers}">Header 3</h3>
<h4 class="{$modifiers}">Header 4</h4>
<h5 class="{$modifiers}">Header 5</h5>
<h6 class="{$modifiers}">Header 6</h6>
1.2.2 Paragraph
Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Morbi commodo, ipsum sed pharetra gravida, orci magna rhoncus neque, id pulvinar odio lorem non turpis.
Nullam sit amet enim. Suspendisse id velit vitae ligula volutpat condimentum. Aliquam erat volutpat.
<p>Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Morbi commodo,
ipsum sed pharetra gravida, orci magna rhoncus neque, id pulvinar odio lorem
non turpis.</p>
<p>Nullam sit amet enim. Suspendisse id velit vitae ligula volutpat
condimentum. Aliquam erat volutpat.</p>
1.2.5 Blockquote
Wrap <blockquote> around any HTML as the quote. For straight quotes, we recommend a <p>.
Additionally the source can be wrapped in <small>
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Integer posuere erat a ante.
<blockquote>
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Integer posuere erat a ante.</p>
</blockquote>
1.2.6 Inline elements
Strong is used to indicate strong importance
This text has added emphasis
The b element is stylistically different text from normal text, without any special importance
The i element is text that is set off from the normal text
The u element is text with an unarticulated, though explicitly rendered, non-textual annotation
This text is deleted and This text is inserted
This text has a strikethrough
Superscript®
Subscript for things like H2O
This small text is small for for fine print, etc.
Abbreviation: HTML
Keybord input: Cmd
This text is a short inline quotation
This is a citation
The dfn element indicates a definition.
The mark element indicates a highlight
This is what inline code looks like.
This is sample output from a computer program
The variarble element, such as x = y
<p><a href="#">This is a text link</a></p>
<p><strong>Strong is used to indicate strong importance</strong></p>
<p><em>This text has added emphasis</em></p>
<p>The <b>b element</b> is stylistically different text from normal text, without any special importance</p>
<p>The <i>i element</i> is text that is set off from the normal text</p>
<p>The <u>u element</u> is text with an unarticulated, though explicitly rendered, non-textual annotation</p>
<p><del>This text is deleted</del> and <ins>This text is inserted</ins></p>
<p><s>This text has a strikethrough</s></p>
<p>Superscript<sup>®</sup></p>
<p>Subscript for things like H<sub>2</sub>O</p>
<p><small>This small text is small for for fine print, etc.</small></p>
<p>Abbreviation: <abbr title="HyperText Markup Language">HTML</abbr></p>
<p>Keybord input: <kbd>Cmd</kbd></p>
<p><q cite="https://developer.mozilla.org/en-US/docs/HTML/Element/q">This text is a short inline quotation</q></p>
<p><cite>This is a citation</cite>
</p><p>The <dfn>dfn element</dfn> indicates a definition.</p>
<p>The <mark>mark element</mark> indicates a highlight</p>
<p><code>This is what inline code looks like.</code></p>
<p><samp>This is sample output from a computer program</samp></p>
<p>The <var>variarble element</var>, such as <var>x</var> = <var>y</var></p>
1.2.7 Time
<time datetime="2013-04-06T12:32+00:00">2 weeks ago</time>
1.2.8 Preformatted text
P R E F O R M A T T E D T E X T
! " # $ % & ' ( ) * + , - . /
0 1 2 3 4 5 6 7 8 9 : ; < = > ?
@ A B C D E F G H I J K L M N O
P Q R S T U V W X Y Z [ \ ] ^ _
` a b c d e f g h i j k l m n o
p q r s t u v w x y z { | } ~
<pre>
P R E F O R M A T T E D T E X T
! " # $ % & ' ( ) * + , - . /
0 1 2 3 4 5 6 7 8 9 : ; < = > ?
@ A B C D E F G H I J K L M N O
P Q R S T U V W X Y Z [ \ ] ^ _
` a b c d e f g h i j k l m n o
p q r s t u v w x y z { | } ~
</pre>
1.2.9 Emphasis colors
Lorem ipsum dolor sit amet, consectetuer
This is what error text looks like
Lorem ipsum dolor sit amet, consectetuer
This is what valid text looks like
Lorem ipsum dolor sit amet, consectetuer
This is what warning text looks like
Lorem ipsum dolor sit amet, consectetuer
This is what information text looks like.
Lorem ipsum dolor sit amet, consectetuer
<p class="{$modifiers}">Lorem ipsum dolor sit amet, consectetuer</p>
1.2.10 Hr
<hr>
1.2.11 Caption
A caption can be applied to an image, quote, form field, etc.
<p class="caption">A caption can be applied to an image, quote, form field, etc.</p>
1.3 Lists
Short description about lists...
1.3.1 Unordered list
- This is a list item in an unordered list
- An unordered list is a list in which the sequence of items is not important. Sometimes, an unordered list is a bulleted list. And this is a long list item in an unordered list that can wrap onto a new line.
-
Lists can be nested inside of each other
- This is a nested list item
- This is another nested list item in an unordered list
- This is the last list item
Reset default list style
- This is a list item in an unordered list
- An unordered list is a list in which the sequence of items is not important. Sometimes, an unordered list is a bulleted list. And this is a long list item in an unordered list that can wrap onto a new line.
-
Lists can be nested inside of each other
- This is a nested list item
- This is another nested list item in an unordered list
- This is the last list item
Inline list
- This is a list item in an unordered list
- An unordered list is a list in which the sequence of items is not important. Sometimes, an unordered list is a bulleted list. And this is a long list item in an unordered list that can wrap onto a new line.
-
Lists can be nested inside of each other
- This is a nested list item
- This is another nested list item in an unordered list
- This is the last list item
<ul class="{$modifiers}">
<li>This is a list item in an unordered list</li>
<li>An unordered list is a list in which the sequence of items is not important. Sometimes, an unordered list is a bulleted list. And this is a long list item in an unordered list that can wrap onto a new line. </li>
<li>
Lists can be nested inside of each other
<ul>
<li>This is a nested list item</li>
<li>This is another nested list item in an unordered list</li>
</ul>
</li>
<li>This is the last list item</li>
</ul>
1.3.2 Ordered list
- This is a list item in an ordered list
- An ordered list is a list in which the sequence of items is important. An ordered list does not necessarily contain sequence characters.
-
Lists can be nested inside of each other
- This is a nested list item
- This is another nested list item in an ordered list
- This is the last list item
Reset default list style
- This is a list item in an ordered list
- An ordered list is a list in which the sequence of items is important. An ordered list does not necessarily contain sequence characters.
-
Lists can be nested inside of each other
- This is a nested list item
- This is another nested list item in an ordered list
- This is the last list item
<ol class="{$modifiers}">
<li>This is a list item in an ordered list</li>
<li>An ordered list is a list in which the sequence of items is important. An ordered list does not necessarily contain sequence characters.</li>
<li>
Lists can be nested inside of each other
<ol>
<li>This is a nested list item</li>
<li>This is another nested list item in an ordered list</li>
</ol>
</li>
<li>This is the last list item</li>
</ol>
1.3.3 Definition list
- Definition List
- A number of connected items or names written or printed consecutively, typically one below the other.
- This is a term.
- This is the definition of that term, which both live in a
dl. - Here is another term.
- And it gets a definition too, which is this line.
- Here is term that shares a definition with the term below.
- And it gets a definition too, which is this line.
<dl>
<dt>Definition List</dt>
<dd>A number of connected items or names written or printed consecutively, typically one below the other.</dd>
<dt>This is a term.</dt>
<dd>This is the definition of that term, which both live in a <code>dl</code>.</dd>
<dt>Here is another term.</dt>
<dd>And it gets a definition too, which is this line.</dd>
<dt>Here is term that shares a definition with the term below.</dt>
<dd>And it gets a definition too, which is this line.</dd>
</dl>
1.5 Forms
Short description about forms...
1.5.1 Text fields
<fieldset>
<div class="field-container">
<label for="text">Text Input <abbr title="Required">*</abbr></label>
<input id="text" type="text" placeholder="Text Input">
</div>
<div class="field-container">
<label for="password">Password</label>
<input id="password" type="password" placeholder="Type your Password">
</div>
<div class="field-container">
<label for="webaddress">Web Address</label>
<input id="webaddress" type="url" placeholder="http://yoursite.com">
</div>
<div class="field-container">
<label for="emailaddress">Email Address</label>
<input id="emailaddress" type="email" placeholder="name@email.com">
</div>
<div class="field-container">
<label for="search">Search</label>
<input id="search" type="search" placeholder="Enter Search Term">
</div>
<div class="field-container">
<label for="text">Number Input <abbr title="Required">*</abbr></label>
<input id="text" type="number" placeholder="Enter a Number" pattern="[0-9]*">
</div>
<div class="field-container">
<label for="textarea">Textarea</label>
<textarea id="textarea" rows="8" cols="48" placeholder="Enter your message here"></textarea>
</div>
<div class="field-container">
<label class="error">Error Input</label>
<input class="is-error" type="text" placeholder="Text Input">
</div>
<div class="field-container">
<label class="valid">Valid</label>
<input class="is-valid" type="text" placeholder="Text Input">
</div>
</fieldset>
1.5.2 Select menu
<fieldset>
<div class="field-container">
<label for="select">Select</label>
<select id="select">
<optgroup label="Option Group">
<option>Option One</option>
<option>Option Two</option>
<option>Option Three</option>
</optgroup>
</select>
</div>
</fieldset>
1.5.3 Checkbox
<form action="#">
<fieldset class="options">
<legend>Checkbox <abbr title="Required">*</abbr></legend>
<ul>
<li><label for="checkbox1"><input id="checkbox1" name="checkbox" type="checkbox" checked="checked"> Choice A</label></li>
<li><label for="checkbox2"><input id="checkbox2" name="checkbox" type="checkbox"> Choice B</label></li>
<li><label for="checkbox3"><input id="checkbox3" name="checkbox" type="checkbox"> Choice C</label></li>
</ul>
</fieldset>
</form>
1.5.4 Radio buttons
<form action="#">
<fieldset class="options">
<legend>Radio</legend>
<ul>
<li><label for="radio1"><input id="radio1" name="radio" type="radio" class="radio" checked="checked"> Option 1</label></li>
<li><label for="radio2"><input id="radio2" name="radio" type="radio" class="radio"> Option 2</label></li>
<li><label for="radio3"><input id="radio3" name="radio" type="radio" class="radio"> Option 3</label></li>
</ul>
</fieldset>
</form>
1.5.4.2 Radio button style
<form action="#">
<fieldset class="options">
<legend>Radio button style</legend>
<input id="radio4" name="radio2" type="radio" class="radio-btn" value="yes" checked="checked"><label for="radio4" class="radio-btn-label">Yes</label>
<input id="radio5" name="radio2" type="radio" class="radio-btn" value="no"><label for="radio5" class="radio-btn-label">No</label>
</fieldset>
</form>
1.5.5 Html5 imputs
<fieldset>
<div class="field-container"><label for="ic">Color input</label> <input type="color" id="ic" value="#000000"></div>
<div class="field-container"><label for="in">Number input</label> <input type="number" id="in" min="0" max="10" value="5"></div>
<div class="field-container"><label for="ir">Range input</label> <input type="range" id="ir" value="10"></div>
<div class="field-container"><label for="idd">Date input</label> <input type="date" id="idd" value="1970-01-01"></div>
<div class="field-container"><label for="idm">Month input</label> <input type="month" id="idm" value="1970-01"></div>
<div class="field-container"><label for="idw">Week input</label> <input type="week" id="idw" value="1970-W01"></div>
<div class="field-container"><label for="idt">Datetime input</label> <input type="datetime" id="idt" value="1970-01-01T00:00:00Z"></div>
<div class="field-container"><label for="idtl">Datetime-local input</label> <input type="datetime-local" id="idtl" value="1970-01-01T00:00"></div>
</fieldset>
1.5.6 Label
<fieldset>
<div class="field-container">
<label for="text">Text Input <abbr title="Required">*</abbr></label>
<input id="text" type="text" placeholder="Text Input">
</div>
</fieldset>
1.6.1 Buttons
Buttons are action items for users.
Default button style
Call to action buttons
Altarnative button
Navigation button
Link button
<a href="#0" class="{$modifiers}">Link Button</a>
<button class="{$modifiers}">Button Element</button>
<input type="button" class="btn {$modifiers}" value="Input Element"/>
1.7.1 Table
For basic styling—light padding and only horizontal dividers—add the base class
.table to any <table>. It may seem super redundant, but given the widespread
use of tables for other plugins like calendars and date pickers, we've opted
to isolate our custom table styles.
| # | First Name | Last Name | Username |
|---|---|---|---|
| 1 | Mark | Otto | @mdo |
| 2 | Jacob | Thornton | @fat |
| 3 | Larry | the Bird |
<table class="table">
<thead>
<tr>
<th>#</th>
<th>First Name</th>
<th>Last Name</th>
<th>Username</th>
</tr>
</thead>
<tbody>
<tr>
<td>1</td>
<td>Mark</td>
<td>Otto</td>
<td>@mdo</td>
</tr>
<tr>
<td>2</td>
<td>Jacob</td>
<td>Thornton</td>
<td>@fat</td>
</tr>
<tr>
<td>3</td>
<td>Larry</td>
<td>the Bird</td>
<td>@twitter</td>
</tr>
</tbody>
</table>
1.9.1 Box
Wrapper for any kind of content
Put any type of content inside the box
<div class="box">
<p>Put any type of content inside <em>the box</em></p>
</div>