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.

http://bradfrostweb.com/blog/post/atomic-web-design/#atoms

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
.h1

Style header element as h1

Header 1

Header 2

Header 3

Header 4

Header 5
Header 6
.h2

Style header element as h2

Header 1

Header 2

Header 3

Header 4

Header 5
Header 6
.h3

Style header element as h3

Header 1

Header 2

Header 3

Header 4

Header 5
Header 6
.h4

Style header element as h4

Header 1

Header 2

Header 3

Header 4

Header 5
Header 6
.h5

Style header element as h5

Header 1

Header 2

Header 3

Header 4

Header 5
Header 6
.h6

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

This is a text link

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

.error

This is what error text looks like

Lorem ipsum dolor sit amet, consectetuer

.valid

This is what valid text looks like

Lorem ipsum dolor sit amet, consectetuer

.warning

This is what warning text looks like

Lorem ipsum dolor sit amet, consectetuer

.information

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
.list-reset

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
.list-inline

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

  1. This is a list item in an ordered list
  2. An ordered list is a list in which the sequence of items is important. An ordered list does not necessarily contain sequence characters.
  3. Lists can be nested inside of each other
    1. This is a nested list item
    2. This is another nested list item in an ordered list
  4. This is the last list item
.list-reset

Reset default list style

  1. This is a list item in an ordered list
  2. An ordered list is a list in which the sequence of items is important. An ordered list does not necessarily contain sequence characters.
  3. Lists can be nested inside of each other
    1. This is a nested list item
    2. This is another nested list item in an ordered list
  4. 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

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

Radio
<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

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.

Link Button
.btn

Default button style

Link Button
.btn-cta

Call to action buttons

Link Button
.btn-alt

Altarnative button

Link Button
.btn-nav

Navigation button

Link Button
.btn-text

Link 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 @twitter
<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>