Typography

Headers

We provide some basic styling on header tags. In the example on the right, you can see the difference in sizes between the 6 header tags

Heading h1

Heading h2

Heading h3

Heading h4

Heading h5
Heading h6

Flow Text

One common flaw we've seen in many frameworks is a lack of support for truly responsive text. While elements on the page resize fluidly, text still resizes on a fixed basis. To ameliorate this problem, for text heavy pages, we've created a class that fluidly scales text size and line-height to optimize readability for the user. Line length stays between 45-80 characters and line height scales to be larger on smaller screens.

To see Flow Text in action, resize your browser and watch the size of the text below change!

To activate this, just add the class "flow-text" to a tag, see the code and demo below for a feel of how this works.


<p class="flow-text">I am Flow Text</p>
        

Post-ironic keffiyeh bitters Banksy street art yr, ennui flexitarian organic bespoke lomo readymade. Schlitz single-origin coffee Wes Anderson XOXO, literally whatever cliche lo-fi deep v pug beard. Blog whatever banh mi wayfarers, tousled roof party try-hard gentrify aesthetic ennui 90's Bushwick. Master cleanse American Apparel PBR&B letterpress, mumblecore fingerstache tousled Thundercats hashtag Wes Anderson quinoa. Yr Brooklyn messenger bag scenester, wolf beard sustainable chia cred sriracha flannel Truffaut Tonx. Butcher 3 wolf moon Vice Banksy, gentrify sartorial XOXO farm-to-table PBR gastropub pop-up. YOLO plaid mustache small batch flannel chambray. Typewriter swag Marfa forage, biodiesel Cosby sweater pork belly McSweeney's fap kale chips ugh. Cornhole hoodie chambray Truffaut, you probably haven't heard of them next level flannel. Plaid cred cray, next level trust fund pork belly vegan gastropub Blue Bottle artisan. Before they sold out ugh stumptown, bitters wolf banjo YOLO forage direct trade Marfa kitsch try- hard mixtape vegan small batch. Truffaut artisan deep v pickled biodiesel, chambray synth pop-up bicycle rights squid gluten-free mlkshk Godard photo booth roof party. DIY bicycle rights Marfa actually, Blue Bottle normcore Pitchfork organic tofu authentic Austin ennui post-ironic. Synth gastropub church-key, small batch art party 3 wolf moon disrupt cornhole quinoa Thundercats biodiesel Williamsburg Schlitz.

Grids

We are using a standard 12 column fluid responsive grid system. It comes with 3 standard screen size media queries where you can alter the columns.

s12

s12 m3

s12 m6

s12 m3

s12 m6 l3

s12 m6 l3

s12 m6 l3

s12 m6 l3


    <div class="row">
    <div class="col s12"><p>s12</p></div>
    <div class="col s12 m3"><p>s12 m3</p></div>
    <div class="col s12 m6"><p>s12 m6</p></div>
    <div class="col s12 m3"><p>s12 m3</p></div>
    </div>
    <div class="row">
    <div class="col s12 m6 l3"><p>s12 m6 l3</p></div>
    <div class="col s12 m6 l3"><p>s12 m6 l3</p></div>
    <div class="col s12 m6 l3"><p>s12 m6 l3</p></div>
    <div class="col s12 m6 l3"><p>s12 m6 l3</p></div>
    </div>
          

Offsets

You can use offsets to make smaller sized columns without needing to fill in the empty space.

s8 offset-s2

s8 offset-s2 m8 offset-m4 l10 offset-l2


  <div class="col s8 offset-s2">
    <p>s8 offset-s2</p>
  </div>
  <div class="col s6 offset-s6 m8 offset-m4 l10 offset-l2">
    <p>s8 offset-s2 m8 offset-m4 l10 offset-l2</p>
  </div>
        

Forms

Input fields

Text fields allow user input. The border should light up simply and clearly indicating which field the user is currently editing.


  <div class="row">
    <form class="col s12">
      <div class="row">
        <div class="input-field col s6">
          <input id="first_name" type="text" required>
          <label for="first_name">First Name</label>
        </div>
        <div class="input-field col s6">
          <input id="last_name" type="text" required>
          <label for="last_name">Last Name</label>
        </div>
      </div>
      <div class="row">
        <div class="input-field col s12">
          <input id="username" type="text" required>
          <label for="username">Username</label>
        </div>
      </div>
      <div class="row">
        <div class="input-field col s12">
          <input id="password" type="password" required>
          <label for="password">Password</label>
        </div>
      </div>
      <div class="row">
        <div class="input-field col s12">
          <input id="email" type="email" required>
          <label for="email">Email</label>
        </div>
      </div>
    </form>
  </div>
          

Textarea

Textareas allow larger expandable user input. The border should light up simply and clearly indicating which field the user is currently editing.

Textareas will auto resize to the text inside.


  <div class="row">
    <form class="col s12">
      <div class="row">
        <div class="input-field col s12">
          <textarea></textarea>                
          <label>Textarea</label>
        </div>
      </div>
    </form>
  </div>
          

Select

Select allows user input through specified options.




You can add the class disabled to get the browser default.


  <select>
    <option value="" disabled selected>Choose your option</option>
    <option value="1">Option 1</option>
    <option value="2">Option 2</option>
    <option value="3">Option 3</option>
  </select>

  <select class="disabled">
    <option value="" disabled selected>Choose your option</option>
    <option value="1">Option 1</option>
    <option value="2">Option 2</option>
    <option value="3">Option 3</option>
  </select>
          

Radio Buttons

Radio Buttons are used when the user must make only one selection out of a group of items

Add radio buttons to a group by adding the name attribute along with the same corresponding value for each of the radio buttons in the group. Create disabled radio buttons by adding the disabled attribute as shown below.


      <form action="#">
        <p>
          <input name="group1" type="radio" id="test1" />
          <label for="test1">Red</label>
        </p>
        <p>
          <input name="group1" type="radio" id="test2" />
          <label for="test2">Yellow</label>
        </p>
        <p>
          <input name="group1" type="radio" id="test3"  />
          <label for="test3">Green</label>
        </p>
          <p>
            <input name="group1" type="radio" id="test4" disabled="disabled" />
            <label for="test4">Brown</label>
        </p>
      </form>
          

Checkboxes

Checkboxes


    <form action="#">
      <p>
        <input type="checkbox" id="test5" />
        <label for="test5">Red</label>
      </p>
      <p>
        <input type="checkbox" id="test6" checked="checked" />
        <label for="test6">Yellow</label>
      </p>
      <p>
        <input type="checkbox" id="test7" checked="checked" disabled="disabled" />
        <label for="test7">Green</label>
      </p>
        <p>
          <input type="checkbox" id="test8" disabled="disabled" />
          <label for="test8">Brown</label>
      </p>
    </form>
          

Range

Add a range slider for values with a wide range. This one is set to be a number between 0 and 100.


    <form action="#">
      <p class="range-field">
        <input type="range" id="test5" />
        <label for="test5">Red</label>
      </p>
    </form>
          

Buttons

There are 3 main button types described in material design. The raised button is a standard button that signify actions and seek to give depth to a mostly flat page. The floating circular action button is meant for very important functions. Flat buttons are usually used within elements that already have depth like cards or modals.

Raised

button button button

<a href="" class="waves-effect waves-light btn">Stuff</a>
<a class="waves-effect waves-light btn"><i class="mdi-file-cloud"></i>button</a>
<a class="waves-effect waves-light btn"><i class="mdi-file-cloud right"></i>button</a>
          

Floating


<a href="" class="button floating"><i class="mdi-content-add"></i></a>
          

Flat

Button

<a href="" class="waves-effect button flat">Button</a>
          

Additional Styles

Large

This button has a larger height for buttons that need more attention.

Button button button

<a href="" class="waves-effect waves-light btn-large">Button</a>
<a class="waves-effect waves-light btn-large"><i class="mdi-file-cloud"></i>button</a>
<a class="waves-effect waves-light btn-large"><i class="mdi-file-cloud right"></i>button</a>
          

Disabled

This style can be applied to all button types

Button Button Button

<a class="btn-large disabled">Button</a>
<a class="btn disabled">Button</a>
<a class="btn-flat disabled">Button</a>
<a class="btn-floating disabled"><i class="mdi-content-add"></i></a>
          

Navbar

The navbar is fully contained by an HTML5 Nav tag. Inside a recommended container div, there are 2 main parts of the navbar. A logo or brand link, and the navigations links. You can align these links to the left or right.

Right Aligned Links


<nav>
  <div class="nav-wrapper">
    <a href="#" class="brand-logo">Logo</a>
    <ul id="nav-mobile" class="right side-nav">
      <li><a href="sass.html">Sass</a></li>
      <li><a href="components.html">Components</a></li>
      <li><a href="javascript.html">JavaScript</a></li>
    </ul>
    <a class="button-collapse" href="#" data-activates="nav-mobile"><i class="mdi-navigation-menu"></i></a>
  </div>
</nav>
      

Left Aligned Links


<nav>
  <div class="nav-wrapper">
    <a href="#" class="brand-logo right">Logo</a>
    <ul id="nav-mobile" class="left side-nav">
      <li><a href="sass.html">Sass</a></li>
      <li><a href="components.html">Components</a></li>
      <li><a href="javascript.html">JavaScript</a></li>
    </ul>
    <a class="button-collapse" href="#" data-activates="nav-mobile"><i class="mdi-navigation-menu"></i></a>
  </div>
</nav>
      

Mobile Collapse Button

If you already included the code for the button collapse as we did in the examples above, all you have to do now is place this code in your page's $( document ).ready(function(){}) code. This example below assumes you have not modified the classes in the above example. In the case that you have, just change the jQuery selector in the line below to match it.


$(".button-collapse").sideNav();
      

Cards

Cards are a convenient means of displaying content composed of different types of objects. They’re also well-suited for presenting similar objects whose size or supported actions can vary considerably, like photos with captions of variable length.

Card Title

This is sample content

Card Title

This is sample content


  <div class="col s12 m6">
      <div class="card cyan">
          <div class="card-content">
              <h1>Card Title</h1>
              <p>This is sample content</p>
          </div>	
          <div class="card-footer">
              <p>Footer</p>
              <p>Sample content</p>
              <p>Sample content</p>
              <a class="card-action" href="#">This is a link</a>
              <a class="card-action" href="#">This is a link</a>
          </div>
      </div>
  </div>

  <div class="col s12 m6">
    <div class="card">
      <div class="card-content">
        <img src="images/sample-1.jpg">
        <h1>Card Title</h1>
        <p>This is sample content</p>
      </div>  
      <div class="card-footer">
        <p>Footer</p>
        <p>Sample content</p>
        <p>Sample content</p>
        <a class="card-action" href="#">This is a link</a>
        <a class="card-action" href="#">This is a link</a>
      </div>
    </div>
  </div>
      

Collections

Collections allow you to group list objects together.

Basic

  • Alvin
  • Alvin
  • Alvin
  • Alvin

  <ul class="collection">
    <li class="collection-item">Alvin</li>
    <li class="collection-item">Alvin</li>
    <li class="collection-item">Alvin</li>
    <li class="collection-item">Alvin</li>
  </ul>
          

Basic with different HTML structure


  <div class="collection">
    <a href="#!" class="collection-item">Alvin</a>
    <a href="#!" class="collection-item active">Alvin</a>
    <a href="#!" class="collection-item">Alvin</a>
    <a href="#!" class="collection-item">Alvin</a>
  </div>
        

Headers

  • First Names

  • Alvin
  • Alvin
  • Alvin
  • Alvin

  <ul class="collection with-header">
    <li class="collection-header"><h4>First Names</h4></li>
    <li class="collection-item">Alvin</li>
    <li class="collection-item">Alvin</li>
    <li class="collection-item">Alvin</li>
    <li class="collection-item">Alvin</li>
  </ul>
        

Secondary content

  • First Names

  • Alvin
  • Alvin
  • Alvin
  • Alvin

  <ul class="collection with-header">
    <li class="collection-header"><h4>First Names</h4></li>
    <li class="collection-item"><div>Alvin<a href="#!" class="secondary-content"><i class="secondary-content mdi-content-send"></i></a></div></li>
    <li class="collection-item"><div>Alvin<a href="#!" class="secondary-content"><i class="mdi-content-send"></i></a></div></li>
    <li class="collection-item"><div>Alvin<a href="#!" class="secondary-content"><i class="mdi-content-send"></i></a></div></li>
    <li class="collection-item"><div>Alvin<a href="#!" class="secondary-content"><i class="mdi-content-send"></i></a></div></li>
  </ul>
        

Tables

Tables are a nice way to organize a lot of data. We provide a few utility classes to help you style your table as easily as possible. In addition, to improve mobile experience, all tables on mobile-screen widths are centered automatically.

Borderless Table

Tables are borderless by default.

Name Item Name Item Price
Alvin Eclair $0.87
Alan Jellybean $3.76
Jonathan Lollipop $7.00

Bordered Table

Add class="bordered" for a bordered table

Name Item Name Item Price
Alvin Eclair $0.87
Alan Jellybean $3.76
Jonathan Lollipop $7.00

Striped Table

Add class="striped" for a striped table

Name Item Name Item Price
Alvin Eclair $0.87
Alan Jellybean $3.76
Jonathan Lollipop $7.00

Hoverable Table

Add class="hoverable" for a hoverable table

Name Item Name Item Price
Alvin Eclair $0.87
Alan Jellybean $3.76
Jonathan Lollipop $7.00

Centered Table

Add class="cetered" to center align all the text in the table

Name Item Name Item Price
Alvin Eclair $0.87
Alan Jellybean $3.76
Jonathan Lollipop $7.00