Material Framework

  • Introduction
  • Components

  • Colors
  • Ripple
  • Typography
  • Toggles
  • Buttons
  • Inputs
  • Icons
  • Toolbars
  • Popups
  • Lists
  • Menus
  • Cards

Introduction

What is this ?

Material Framework is a simple responsive CSS framework made by Tim Nguyen that allows you to integrate Material Design in any web page or web app.

© Copyright 2014-2015 - Tim Nguyen

Where do I get it ?

You can find it on Github. Grab it now before your internet gets slow :)

View on Github Download

Setup

Just import material.css if you only need the styles. If you need the JS, you'll also need to import material.js first, then you'll need to initialize the Material object. Luckily, that can be done using a simple line of code :

// This will initialize all Material modules var md = new Material();

Or if you only need specific modules :

// This will initialize only the Responsive and SideMenu modules var md = new Material({modules: ["Responsive", "SideMenu"]});

You can also specify options :

var md = new Material({ options: { FancyHeader: { header: document.querySelector(".toolbar"), scrollTarget: document.querySelector(".main-content") } } });

Showcase

Cool apps made using the framework :

  • DocLayer by PalmerAL

Feel free to reach me if you wish to have your app featured.

Themes

Two themes are available : the dark theme and the light theme.

To apply the dark theme, use the dark-theme class.

Helpers are also available in material.js.

Theme.toggle(element)

This toggles between light and dark theme. element corresponds to the DOM element that will have it's theme toggled. If no element is specified, this defaults to document.body.

Theme.setTheme(theme, element)

This sets an element to a specified theme. theme corresponds to the theme you want to switch to (light or dark), this is required. element corresponds to the DOM element that will have it's theme changed. If no element is specified, this defaults to document.body.

Colors

This framework provides access to all material design colors. Here's how you can use them :

Class names are composed like this : type-color-shade
type corresponds to one of the 4 different types (bg, color, fill or stroke) depending on your needs, color corresponds to the color name (red for example), and shade corresponds to number specified in the palette below (500 for example).

Note that you can also use multiple classes together.

Example

This class name will make the background of an element red.

bg-red-500

Palette

  • Red 500 #f44336
  • 50#ffebee
  • 100#ffcdd2
  • 200#ef9a9a
  • 300#e57373
  • 400#ef5350
  • 500#f44336
  • 600#e53935
  • 700#d32f2f
  • 800#c62828
  • 900#b71c1c
  • A100#ff8a80
  • A200#ff5252
  • A400#ff1744
  • A700#d50000
  • Pink 500 #e91e63
  • 50#fce4ec
  • 100#f8bbd0
  • 200#f48fb1
  • 300#f06292
  • 400#ec407a
  • 500#e91e63
  • 600#d81b60
  • 700#c2185b
  • 800#ad1457
  • 900#880e4f
  • A100#ff80ab
  • A200#ff4081
  • A400#f50057
  • A700#c51162
  • Purple 500 #9c27b0
  • 50#f3e5f5
  • 100#e1bee7
  • 200#ce93d8
  • 300#ba68c8
  • 400#ab47bc
  • 500#9c27b0
  • 600#8e24aa
  • 700#7b1fa2
  • 800#6a1b9a
  • 900#4a148c
  • A100#ea80fc
  • A200#e040fb
  • A400#d500f9
  • A700#aa00ff
  • Deep Purple 500 #673ab7
  • 50#ede7f6
  • 100#d1c4e9
  • 200#b39ddb
  • 300#9575cd
  • 400#7e57c2
  • 500#673ab7
  • 600#5e35b1
  • 700#512da8
  • 800#4527a0
  • 900#311b92
  • A100#b388ff
  • A200#7c4dff
  • A400#651fff
  • A700#6200ea
  • Indigo 500 #3f51b5
  • 50#e8eaf6
  • 100#c5cae9
  • 200#9fa8da
  • 300#7986cb
  • 400#5c6bc0
  • 500#3f51b5
  • 600#3949ab
  • 700#303f9f
  • 800#283593
  • 900#1a237e
  • A100#8c9eff
  • A200#536dfe
  • A400#3d5afe
  • A700#304ffe
  • Blue 500 #2196f3
  • 50#e3f2fd
  • 100#bbdefb
  • 200#90caf9
  • 300#64b5f6
  • 400#42a5f5
  • 500#2196f3
  • 600#1e88e5
  • 700#1976d2
  • 800#1565c0
  • 900#0d47a1
  • A100#82b1ff
  • A200#448aff
  • A400#2979ff
  • A700#2962ff
  • Light Blue 500 #03a9f4
  • 50#e1f5fe
  • 100#b3e5fc
  • 200#81d4fa
  • 300#4fc3f7
  • 400#29b6f6
  • 500#03a9f4
  • 600#039be5
  • 700#0288d1
  • 800#0277bd
  • 900#01579b
  • A100#80d8ff
  • A200#40c4ff
  • A400#00b0ff
  • A700#0091ea
  • Cyan 500 #00bcd4
  • 50#e0f7fa
  • 100#b2ebf2
  • 200#80deea
  • 300#4dd0e1
  • 400#26c6da
  • 500#00bcd4
  • 600#00acc1
  • 700#0097a7
  • 800#00838f
  • 900#006064
  • A100#84ffff
  • A200#18ffff
  • A400#00e5ff
  • A700#00b8d4
  • Teal 500 #009688
  • 50#e0f2f1
  • 100#b2dfdb
  • 200#80cbc4
  • 300#4db6ac
  • 400#26a69a
  • 500#009688
  • 600#00897b
  • 700#00796b
  • 800#00695c
  • 900#004d40
  • A100#a7ffeb
  • A200#64ffda
  • A400#1de9b6
  • A700#00bfa5
  • Green 500 #4caf50
  • 50#e8f5e9
  • 100#c8e6c9
  • 200#a5d6a7
  • 300#81c784
  • 400#66bb6a
  • 500#4caf50
  • 600#43a047
  • 700#388e3c
  • 800#2e7d32
  • 900#1b5e20
  • A100#b9f6ca
  • A200#69f0ae
  • A400#00e676
  • A700#00c853
  • Light Green 500 #8bc34a
  • 50#f1f8e9
  • 100#dcedc8
  • 200#c5e1a5
  • 300#aed581
  • 400#9ccc65
  • 500#8bc34a
  • 600#7cb342
  • 700#689f38
  • 800#558b2f
  • 900#33691e
  • A100#ccff90
  • A200#b2ff59
  • A400#76ff03
  • A700#64dd17
  • Lime 500 #cddc39
  • 50#f9fbe7
  • 100#f0f4c3
  • 200#e6ee9c
  • 300#dce775
  • 400#d4e157
  • 500#cddc39
  • 600#c0ca33
  • 700#afb42b
  • 800#9e9d24
  • 900#827717
  • A100#f4ff81
  • A200#eeff41
  • A400#c6ff00
  • A700#aeea00
  • Yellow 500 #ffeb3b
  • 50#fffde7
  • 100#fff9c4
  • 200#fff59d
  • 300#fff176
  • 400#ffee58
  • 500#ffeb3b
  • 600#fdd835
  • 700#fbc02d
  • 800#f9a825
  • 900#f57f17
  • A100#ffff8d
  • A200#ffff00
  • A400#ffea00
  • A700#ffd600
  • Amber 500 #ffc107
  • 50#fff8e1
  • 100#ffecb3
  • 200#ffe082
  • 300#ffd54f
  • 400#ffca28
  • 500#ffc107
  • 600#ffb300
  • 700#ffa000
  • 800#ff8f00
  • 900#ff6f00
  • A100#ffe57f
  • A200#ffd740
  • A400#ffc400
  • A700#ffab00
  • Orange 500 #ff9800
  • 50#fff3e0
  • 100#ffe0b2
  • 200#ffcc80
  • 300#ffb74d
  • 400#ffa726
  • 500#ff9800
  • 600#fb8c00
  • 700#f57c00
  • 800#ef6c00
  • 900#e65100
  • A100#ffd180
  • A200#ffab40
  • A400#ff9100
  • A700#ff6d00
  • Deep Orange 500 #ff5722
  • 50#fbe9e7
  • 100#ffccbc
  • 200#ffab91
  • 300#ff8a65
  • 400#ff7043
  • 500#ff5722
  • 600#f4511e
  • 700#e64a19
  • 800#d84315
  • 900#bf360c
  • A100#ff9e80
  • A200#ff6e40
  • A400#ff3d00
  • A700#dd2c00
  • Brown 500 #795548
  • 50#efebe9
  • 100#d7ccc8
  • 200#bcaaa4
  • 300#a1887f
  • 400#8d6e63
  • 500#795548
  • 600#6d4c41
  • 700#5d4037
  • 800#4e342e
  • 900#3e2723
  • Grey 500 #9e9e9e
  • 50#fafafa
  • 100#f5f5f5
  • 200#eeeeee
  • 300#e0e0e0
  • 400#bdbdbd
  • 500#9e9e9e
  • 600#757575
  • 700#616161
  • 800#424242
  • 900#212121
  • Blue Grey 500 #607d8b
  • 50#eceff1
  • 100#cfd8dc
  • 200#b0bec5
  • 300#90a4ae
  • 400#78909c
  • 500#607d8b
  • 600#546e7a
  • 700#455a64
  • 800#37474f
  • 900#263238
  • Black#000000
  • White#ffffff

Ripple

You can use the ripple class or the ripple attribute. You can also specify circular ripples (for round elements like fabs). The ripple attribute supports 3 values : circle, none and nothing.

If you don't like the W3C validator screaming about non-valid attributes, you can use class names instead : ripple,circle and no-ripple.

Examples

Circular ripple

<button class="button raised bg-blue-500 color-white" ripple="none">No ripple</button> <div style="width: 100px;height: 100px;padding: 10px;" ripple="circle">Circular ripple</div>

Or... using class names :

<button class="button raised bg-blue-500 color-white no-ripple">No ripple</button> <div class="ripple circle" style="width: 100px;height: 100px;padding: 10px;">Circular ripple</div>

Typography

A subheading - scroll down

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Maecenas lectus metus, ullamcorper vehicula dui ac, posuere feugiat turpis. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; In hac habitasse platea dictumst. Curabitur in tortor ac ex convallis gravida sit amet eget sem. Vivamus bibendum tincidunt risus ut ultrices. Mauris quis erat consequat, eleifend sapien ac, mollis quam. Aliquam odio lectus, consequat at magna id, efficitur euismod ante. Sed ac elit vitae odio tempus accumsan. Suspendisse leo ante, venenatis vel leo nec, euismod faucibus orci. In hac habitasse platea dictumst. orem ipsum dolor sit amet, consectetur adipiscing elit. Maecenas lectus metus, ullamcorper vehicula dui ac, posuere feugiat turpis. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; In hac habitasse platea dictumst. Curabitur in tortor ac ex convallis gravida sit amet eget sem. Vivamus bibendum tincidunt risus ut ultrices. Mauris quis erat consequat, eleifend sapien ac, mollis quam. Aliquam odio lectus, consequat at magna id, efficitur euismod ante. Sed ac elit vitae odio tempus accumsan. Suspendisse leo ante, venenatis vel leo nec, euismod faucibus orci. In hac habitasse platea dictumst.orem ipsum dolor sit amet, consectetur adipiscing elit. Maecenas lectus metus, ullamcorper vehicula dui ac, posuere feugiat turpis. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; In hac habitasse platea dictumst. Curabitur in tortor ac ex convallis gravida sit amet eget sem. Vivamus bibendum tincidunt risus ut ultrices. Mauris quis erat consequat, eleifend sapien ac, mollis quam. Aliquam odio lectus, consequat at magna id, efficitur euismod ante. Sed ac elit vitae odio tempus accumsan. Suspendisse leo ante, venenatis vel leo nec, euismod faucibus orci. In hac habitasse platea dictumst.orem ipsum dolor sit amet, consectetur adipiscing elit. Maecenas lectus metus, ullamcorper vehicula dui ac, posuere feugiat turpis. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; In hac habitasse platea dictumst. Curabitur in tortor ac ex convallis gravida sit amet eget sem. Vivamus bibendum tincidunt risus ut ultrices. Mauris quis erat consequat, eleifend sapien ac, mollis quam. Aliquam odio lectus, consequat at magna id, efficitur euismod ante. Sed ac elit vitae odio tempus accumsan. Suspendisse leo ante, venenatis vel leo nec, euismod faucibus orci. In hac habitasse platea dictumst.

Another subheading

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Maecenas lectus metus, ullamcorper vehicula dui ac, posuere feugiat turpis. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; In hac habitasse platea dictumst. Curabitur in tortor ac ex convallis gravida sit amet eget sem. Vivamus bibendum tincidunt risus ut ultrices. Mauris quis erat consequat, eleifend sapien ac, mollis quam. Aliquam odio lectus, consequat at magna id, efficitur euismod ante. Sed ac elit vitae odio tempus accumsan. Suspendisse leo ante, venenatis vel leo nec, euismod faucibus orci. In hac habitasse platea dictumst. orem ipsum dolor sit amet, consectetur adipiscing elit. Maecenas lectus metus, ullamcorper vehicula dui ac, posuere feugiat turpis. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; In hac habitasse platea dictumst. Curabitur in tortor ac ex convallis gravida sit amet eget sem. Vivamus bibendum tincidunt risus ut ultrices. Mauris quis erat consequat, eleifend sapien ac, mollis quam. Aliquam odio lectus, consequat at magna id, efficitur euismod ante. Sed ac elit vitae odio tempus accumsan. Suspendisse leo ante, venenatis vel leo nec, euismod faucibus orci. In hac habitasse platea dictumst.orem ipsum dolor sit amet, consectetur adipiscing elit. Maecenas lectus metus, ullamcorper vehicula dui ac, posuere feugiat turpis. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; In hac habitasse platea dictumst. Curabitur in tortor ac ex convallis gravida sit amet eget sem. Vivamus bibendum tincidunt risus ut ultrices. Mauris quis erat consequat, eleifend sapien ac, mollis quam. Aliquam odio lectus, consequat at magna id, efficitur euismod ante. Sed ac elit vitae odio tempus accumsan. Suspendisse leo ante, venenatis vel leo nec, euismod faucibus orci. In hac habitasse platea dictumst.orem ipsum dolor sit amet, consectetur adipiscing elit. Maecenas lectus metus, ullamcorper vehicula dui ac, posuere feugiat turpis. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; In hac habitasse platea dictumst. Curabitur in tortor ac ex convallis gravida sit amet eget sem. Vivamus bibendum tincidunt risus ut ultrices. Mauris quis erat consequat, eleifend sapien ac, mollis quam. Aliquam odio lectus, consequat at magna id, efficitur euismod ante. Sed ac elit vitae odio tempus accumsan. Suspendisse leo ante, venenatis vel leo nec, euismod faucibus orci. In hac habitasse platea dictumst.

A minor heading

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Maecenas lectus metus, ullamcorper vehicula dui ac, posuere feugiat turpis. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; In hac habitasse platea dictumst. Curabitur in tortor ac ex convallis gravida sit amet eget sem. Vivamus bibendum tincidunt risus ut ultrices. Mauris quis erat consequat, eleifend sapien ac, mollis quam. Aliquam odio lectus, consequat at magna id, efficitur euismod ante. Sed ac elit vitae odio tempus accumsan. Suspendisse leo ante, venenatis vel leo nec, euismod faucibus orci. In hac habitasse platea dictumst. orem ipsum dolor sit amet, consectetur adipiscing elit. Maecenas lectus metus, ullamcorper vehicula dui ac, posuere feugiat turpis. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; In hac habitasse platea dictumst. Curabitur in tortor ac ex convallis gravida sit amet eget sem. Vivamus bibendum tincidunt risus ut ultrices. Mauris quis erat consequat, eleifend sapien ac, mollis quam. Aliquam odio lectus, consequat at magna id, efficitur euismod ante. Sed ac elit vitae odio tempus accumsan. Suspendisse leo ante, venenatis vel leo nec, euismod faucibus orci. In hac habitasse platea dictumst.orem ipsum dolor sit amet, consectetur adipiscing elit. Maecenas lectus metus, ullamcorper vehicula dui ac, posuere feugiat turpis.

Within the material environment, virtual lights illuminate the scene and allow objects to cast shadows. A key light creates directional shadows, while an ambient light creates consistent, soft shadows from all angles.
Google material design spec

Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; In hac habitasse platea dictumst. Curabitur in tortor ac ex convallis gravida sit amet eget sem. Vivamus bibendum tincidunt risus ut ultrices. Mauris quis erat consequat, eleifend sapien ac, mollis quam. Aliquam odio lectus, consequat at magna id, efficitur euismod ante. Sed ac elit vitae odio tempus accumsan. Suspendisse leo ante, venenatis vel leo nec, euismod faucibus orci. In hac habitasse platea dictumst.orem ipsum dolor sit amet, consectetur adipiscing elit. Maecenas lectus metus, ullamcorper vehicula dui ac, posuere feugiat turpis. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; In hac habitasse platea dictumst. Curabitur in tortor ac ex convallis gravida sit amet eget sem. Vivamus bibendum tincidunt risus ut ultrices. Mauris quis erat consequat, eleifend sapien ac, mollis quam. Aliquam odio lectus, consequat at magna id, efficitur euismod ante. Sed ac elit vitae odio tempus accumsan. Suspendisse leo ante, venenatis vel leo nec, euismod faucibus orci. In hac habitasse platea dictumst.

Checkboxes

Example

<div class="checkbox"> <input type="checkbox" id="checkbox"/> <label for="checkbox"></label> </div>

Radios

Example

<div class="radio"> <input type="radio" id="radio" name="radios"/> <label for="radio"></label> </div>

Switches

Example

<div class="switch"> <input type="checkbox" id="switch"/> <label for="switch"></label> </div>

Buttons

Flat

Example

<button class="button">Button</button> <button class="button color-blue-500">Colored</button> <button class="button" disabled>Disabled</button>

Raised

Example

<button class="button raised">Button</button> <button class="button raised bg-blue-500 color-white">Colored</button> <button class="button raised" disabled>Disabled</button>

Fab

Example

<button class="fab bg-red-500 color-white"><i class="icon-create"></i></button> <button class="fab bg-green-500 color-white small"><i class="icon-check"></i></button>

Dropdown menus

Native menu (<select>) : Use the dropdown-menu class on any select.

Custom menu (JS)

  • Apple
  • Orange
  • Pear

Example

<div class="dropdown"> <button class="dropdown-menu">Apple</button> <ul class="menu"> <li ripple><a>Apple</a></li> <li ripple><a>Orange</a></li> <li ripple><a>Pear</a></li> </ul> </div>

Inputs

Example

<input type="text" class="text-input" placeholder="Type something here"/>

Example

<textarea class="text-input" placeholder="This is a textarea"></textarea>

Example

<div class="text-input-container"> <i class="icon-location text-input-icon"></i> <input type="text" class="text-input border-green-500" placeholder="Input with an icon"/> </div>

You can create floating inputs by adding the card class to text-input-container.

Example

<div class="text-input-container card"> <i class="icon-search text-input-icon"></i> <input type="text" class="text-input" placeholder="Search"/> </div>

Sliders

Example

<input type="range" class="slider"/>

Icon buttons

Example

<button class="icon-button"><i class="icon-star"></i></button>

Icon font

The icon font was created with Fontello with icons by Google.

Add icons using the template below, replacing "icon-name" with the icon name listed below.

<i class="icon-name"></i>
icon-access-alarms0xe800
icon-access-time0xe801
icon-accessibility0xe802
icon-account-box0xe803
icon-account-circle0xe804
icon-adb0xe805
icon-add0xe806
icon-add-alarm0xe807
icon-add-box0xe808
icon-add-circle0xe809
icon-add-circle-outline0xe80a
icon-airplane-mode-off0xe80b
icon-airplane-mode0xe80c
icon-android0xe80d
icon-apps0xe80e
icon-archive0xe80f
icon-arrow-back0xe810
icon-arrow-drop-down0xe811
icon-arrow-drop-down-circle0xe812
icon-arrow-drop-up0xe813
icon-arrow-forward0xe814
icon-auto-fix0xe815
icon-backspace0xe816
icon-backup0xe817
icon-beenhere0xe818
icon-block0xe819
icon-bluetooth0xe81a
icon-bluetooth-audio0xe81b
icon-bluetooth-connected0xe81c
icon-bluetooth-disabled0xe81d
icon-bluetooth-searching0xe81e
icon-bold0xe81f
icon-book0xe820
icon-bookmark0xe821
icon-bookmark-outline0xe822
icon-brightness-auto0xe823
icon-brightness-high0xe824
icon-brightness-low0xe825
icon-brightness-medium0xe826
icon-bug-report0xe827
icon-cake0xe828
icon-call0xe829
icon-call-end0xe82a
icon-call-made0xe82b
icon-call-merge0xe82c
icon-call-missed0xe82d
icon-call-received0xe82e
icon-call-split0xe82f
icon-camera0xe830
icon-camera-alt0xe831
icon-camera-roll0xe832
icon-cancel0xe833
icon-cast0xe834
icon-cast-connected0xe835
icon-chat0xe836
icon-check0xe837
icon-checkbox0xe838
icon-checkbox-blank0xe839
icon-checkbox-outline0xe83a
icon-checkbox-outline-blank0xe83b
icon-check-circle0xe83c
icon-check-circle-blank0xe83d
icon-check-circle-outline0xe83e
icon-check-circle-outline-blank0xe83f
icon-chevron-left0xe840
icon-chevron-right0xe841
icon-chromecast0xe842
icon-circles0xe843
icon-circles-add0xe844
icon-circles-extended0xe845
icon-close0xe846
icon-close-caption0xe847
icon-cloud0xe848
icon-cloud-drive0xe849
icon-cloud-done0xe84a
icon-cloud-download0xe84b
icon-cloud-off0xe84c
icon-cloud-queue0xe84d
icon-cloud-upload0xe84e
icon-communities0xe84f
icon-content-copy0xe850
icon-content-cut0xe851
icon-content-paste0xe852
icon-create0xe853
icon-credit-card0xe854
icon-crop0xe855
icon-crop-free0xe856
icon-crop-landscape0xe857
icon-crop-portrait0xe858
icon-crop-square0xe859
icon-data-usage0xe85a
icon-delete0xe85b
icon-developer-mode0xe85c
icon-dialpad0xe85d
icon-directions0xe85e
icon-directions-bike0xe85f
icon-directions-bus0xe860
icon-directions-car0xe861
icon-directions-subway0xe862
icon-directions-train0xe863
icon-directions-walk0xe864
icon-disc-full0xe865
icon-do-not-disturb0xe866
icon-dock0xe867
icon-domain0xe868
icon-done0xe869
icon-done-all0xe86a
icon-drafts0xe86b
icon-drive0xe86c
icon-drive-apk0xe86d
icon-drive-audio0xe86e
icon-drive-code0xe86f
icon-drive-document0xe870
icon-drive-drawing0xe871
icon-drive-eta0xe872
icon-drive-font0xe873
icon-drive-form0xe874
icon-drive-fusiontable0xe875
icon-drive-image0xe876
icon-drive-ms-excel0xe877
icon-drive-ms-powerpoint0xe878
icon-drive-ms-word0xe879
icon-drive-pdf0xe87a
icon-drive-presentation0xe87b
icon-drive-script0xe87c
icon-drive-site0xe87d
icon-drive-spreadsheet0xe87e
icon-drive-video0xe87f
icon-drive-zip0xe880
icon-earth0xe881
icon-email0xe882
icon-error0xe883
icon-event0xe884
icon-exit-to-app0xe885
icon-expand-less0xe886
icon-expand-more0xe887
icon-explore0xe888
icon-extensions0xe889
icon-fast-forward0xe88a
icon-fast-rewind0xe88b
icon-favorite0xe88c
icon-favorite-outline0xe88d
icon-file-download0xe88e
icon-file-upload0xe88f
icon-filter0xe890
icon-flag0xe891
icon-flash-auto0xe892
icon-flash-off0xe893
icon-flash-on0xe894
icon-flights0xe895
icon-flip-to-back0xe896
icon-flip-to-front0xe897
icon-folder0xe898
icon-folder-mydrive0xe899
icon-folder-shared0xe89a
icon-forum0xe89b
icon-forward0xe89c
icon-fullscreen0xe89d
icon-fullscreen-exit0xe89e
icon-games0xe89f
icon-gesture0xe8a0
icon-glass0xe8a1
icon-gmail0xe8a2
icon-google0xe8a3
icon-google-plus0xe8a4
icon-gps-fixed0xe8a5
icon-gps-not-fixed0xe8a6
icon-gps-off0xe8a7
icon-group0xe8a8
icon-group-add0xe8a9
icon-hangout0xe8aa
icon-hangout-video0xe8ab
icon-hangout-video-off0xe8ac
icon-headset0xe8ad
icon-headset-mic0xe8ae
icon-help0xe8af
icon-high-quality0xe8b0
icon-history0xe8b1
icon-home0xe8b2
icon-hotel0xe8b3
icon-https0xe8b4
icon-image0xe8b5
icon-import-export0xe8b6
icon-inbox0xe8b7
icon-info0xe8b8
icon-info-outline0xe8b9
icon-invert-colors0xe8ba
icon-italics0xe8bb
icon-keep0xe8bc
icon-keyboard0xe8bd
icon-keyboard-alt0xe8be
icon-keyboard-arrow-down0xe8bf
icon-keyboard-arrow-left0xe8c0
icon-keyboard-arrow-right0xe8c1
icon-keyboard-arrow-up0xe8c2
icon-keyboard-backspace0xe8c3
icon-keyboard-capslock0xe8c4
icon-keyboard-control0xe8c5
icon-keyboard-hide0xe8c6
icon-keyboard-return0xe8c7
icon-keyboard-tab0xe8c8
icon-keyboard-voice0xe8c9
icon-label0xe8ca
icon-label-outline0xe8cb
icon-landscape0xe8cc
icon-language0xe8cd
icon-laptop0xe8ce
icon-launch0xe8cf
icon-link0xe8d0
icon-list0xe8d1
icon-live-help0xe8d2
icon-location0xe8d3
icon-location-city0xe8d4
icon-location-disabled0xe8d5
icon-location-searching0xe8d6
icon-lock0xe8d7
icon-lock-open0xe8d8
icon-lock-outline0xe8d9
icon-loop0xe8da
icon-mail0xe8db
icon-map0xe8dc
icon-mark-unread0xe8dd
icon-memory0xe8de
icon-menu0xe8df
icon-message0xe8e0
icon-messenger0xe8e1
icon-mic0xe8e2
icon-mic-outline0xe8e3
icon-mic-off0xe8e4
icon-mms0xe8e5
icon-mood0xe8e6
icon-more0xe8e7
icon-more-horizontal0xe8e8
icon-more-vertical0xe8e9
icon-mouse0xe8ea
icon-movie0xe8eb
icon-nest-protect0xe8ec
icon-nest-thermostat0xe8ed
icon-network-cell0xe8ee
icon-network-wifi0xe8ef
icon-news0xe8f0
icon-nfc0xe8f1
icon-notifications0xe8f2
icon-notifications-none0xe8f3
icon-notifications-off0xe8f4
icon-notifications-on0xe8f5
icon-notifications-paused0xe8f6
icon-pages0xe8f7
icon-palette0xe8f8
icon-panorama0xe8f9
icon-party-mode0xe8fa
icon-pause0xe8fb
icon-pause-circle-fill0xe8fc
icon-pause-circle-outline0xe8fd
icon-people0xe8fe
icon-person0xe8ff
icon-person-add0xe900
icon-person-location0xe901
icon-person-outline0xe902
icon-phone0xe903
icon-phone-alt0xe904
icon-phone-bluetooth-speaker0xe905
icon-phone-forwarded0xe906
icon-phone-in-talk0xe907
icon-phone-locked0xe908
icon-phone-missed0xe909
icon-phone-paused0xe90a
icon-photo0xe90b
icon-photo-album0xe90c
icon-photo-library0xe90d
icon-place0xe90e
icon-play0xe90f
icon-play-circle-fill0xe910
icon-play-circle-outline0xe911
icon-play-download0xe912
icon-play-install0xe913
icon-plus-one0xe914
icon-poll0xe915
icon-polymer0xe916
icon-portrait0xe917
icon-post-blogger0xe918
icon-post-facebook0xe919
icon-post-gplus0xe91a
icon-post-instagram0xe91b
icon-post-linkedin0xe91c
icon-post-pinterest0xe91d
icon-post-tumblr0xe91e
icon-post-twitter0xe91f
icon-print0xe920
icon-public0xe921
icon-queue0xe922
icon-radio-button-off0xe923
icon-radio-button-on0xe924
icon-receipt0xe925
icon-refresh0xe926
icon-reminder0xe927
icon-remove0xe928
icon-remove-circle0xe929
icon-remove-circle-outline0xe92a
icon-replay0xe92b
icon-reply0xe92c
icon-reply-all0xe92d
icon-report0xe92e
icon-ring-volume0xe92f
icon-rotate-left0xe930
icon-rotate-right0xe931
icon-satellite-alt0xe932
icon-save0xe933
icon-schedule0xe934
icon-school0xe935
icon-screen-lock-landscape0xe936
icon-screen-lock-portrait0xe937
icon-screen-lock-rotation0xe938
icon-screen-rotation0xe939
icon-sd-card0xe93a
icon-search0xe93b
icon-select-all0xe93c
icon-send0xe93d
icon-settings0xe93e
icon-settings-application0xe93f
icon-settings-bluetooth0xe940
icon-settings-cell0xe941
icon-settings-phone0xe942
icon-settings-power0xe943
icon-settings-voice0xe944
icon-share0xe945
icon-share-alt0xe946
icon-shopping-basket0xe947
icon-shopping-cart0xe948
icon-shuffle0xe949
icon-signal-cellular-1-bar0xe94a
icon-signal-cellular-2-bar0xe94b
icon-signal-cellular-3-bar0xe94c
icon-signal-cellular-4-bar0xe94d
icon-signal-wifi-1-bar0xe94e
icon-signal-wifi-2-bar0xe94f
icon-signal-wifi-3-bar0xe950
icon-signal-wifi-4-bar0xe951
icon-sim-card-alert0xe952
icon-skip-next0xe953
icon-skip-previous0xe954
icon-slideshow0xe955
icon-sms0xe956
icon-sms-failed0xe957
icon-sort0xe958
icon-speaker0xe959
icon-star0xe95a
icon-star-half0xe95b
icon-star-outline0xe95c
icon-star-rate0xe95d
icon-stop0xe95e
icon-storage0xe95f
icon-store0xe960
icon-swap-driving-apps0xe961
icon-swap-vertical0xe962
icon-swap-vertical-circle0xe963
icon-switch-camera0xe964
icon-switch-video0xe965
icon-sync0xe966
icon-sync-disabled0xe967
icon-sync-green0xe968
icon-sync-problem0xe969
icon-system-update0xe96a
icon-tab0xe96b
icon-tab-unselected0xe96c
icon-tablet0xe96d
icon-tag-faces0xe96e
icon-tap-and-play0xe96f
icon-terrain0xe970
icon-text-format0xe971
icon-text-sms0xe972
icon-theaters0xe973
icon-thumbs-down0xe974
icon-thumbs-up0xe975
icon-time-to-leave0xe976
icon-timelapse0xe977
icon-timer0xe978
icon-today0xe979
icon-traffic0xe97a
icon-translate-alt0xe97b
icon-tv0xe97c
icon-underline0xe97d
icon-undo0xe97e
icon-unfold-less0xe97f
icon-unfold-more0xe980
icon-exposure0xe981
icon-control-point0xe982
icon-image-aspect-ratio0xe983
icon-glyph-3990xe984
icon-glyph-4000xe985
icon-usb0xe986
icon-vibration0xe987
icon-video-youtube0xe988
icon-videocam0xe989
icon-videocam-off0xe98a
icon-view-array0xe98b
icon-view-column0xe98c
icon-view-headline0xe98d
icon-view-list0xe98e
icon-view-module0xe98f
icon-view-quilt0xe990
icon-view-stream0xe991
icon-visibility0xe992
icon-visibility-off0xe993
icon-voice0xe994
icon-voicemail0xe995
icon-volume-down0xe996
icon-volume-mute0xe997
icon-volume-off0xe998
icon-volume-up0xe999
icon-vpn0xe99a
icon-warning0xe99b
icon-watch0xe99c
icon-wb-auto0xe99d
icon-wb-cloudy0xe99e
icon-wb-incandescent0xe99f
icon-wb-irradescent0xe9a0
icon-wb-sunny0xe9a1
icon-web0xe9a2
icon-whatshot0xe9a3
icon-wifi-tethering0xe9a4
icon-work0xe9a5
icon-attachment0xe9a6
icon-money0xe9a7
icon-border-all0xe9a8
icon-border-bottom0xe9a9
icon-border-clear0xe9aa
icon-border-color0xe9ab
icon-border-horizontal0xe9ac
icon-border-inner0xe9ad
icon-border-left0xe9ae
icon-border-outer0xe9af
icon-border-right0xe9b0
icon-border-style0xe9b1
icon-border-top0xe9b2
icon-border-vertical0xe9b3
icon-align-center0xe9b4
icon-align-justify0xe9b5
icon-align-left0xe9b6
icon-align-right0xe9b7
icon-format-clear0xe9b8
icon-format-color-fill0xe9b9
icon-format-color-reset0xe9ba
icon-format-color-text0xe9bb
icon-format-indent-decrease0xe9bc
icon-format-indent-increase0xe9bd
icon-format-line-spacing0xe9be
icon-format-list-bullet0xe9bf
icon-format-list-number0xe9c0
icon-format-paint0xe9c1
icon-quote0xe9c2
icon-format-size0xe9c3
icon-strikethrough0xe9c4
icon-format-text-direction-ltr0xe9c5
icon-format-text-direction-rtl0xe9c6
icon-functions0xe9c7
icon-chart0xe9c8
icon-comment0xe9c9
icon-drive-file0xe9ca
icon-emoticon0xe9cb
icon-insert-photo0xe9cc
icon-mode-comment0xe9cd
icon-mode-edit0xe9ce
icon-publish0xe9cf
icon-vertical-align-bottom0xe9d0
icon-vertical-align-center0xe9d1
icon-vertical-align-top0xe9d2
icon-wrap-text0xe9d3
icon-eyedropper0xe9d4
icon-compare0xe9d5
icon-control-point-double0xe9d6
icon-dehaze0xe9d7
icon-details0xe9d8
icon-exposure-minus-20xe9d9
icon-exposure-minus-10xe9da
icon-exposure-plus-20xe9db
icon-exposure-plus-10xe9dc
icon-exposure-zero0xe9dd
icon-filter-20xe9de
icon-filter-10xe9df
icon-filter-9-plus0xe9e0
icon-filter-30xe9e1
icon-filter-40xe9e2
icon-filter-50xe9e3
icon-filter-60xe9e4
icon-filter-70xe9e5
icon-filter-80xe9e6
icon-filter-90xe9e7
icon-filter-default0xe9e8
icon-filter-b-w0xe9e9
icon-filter-drama0xe9ea
icon-filter-frames0xe9eb
icon-filter-hdr0xe9ec
icon-filter-none0xe9ed
icon-filter-tilt-shift0xe9ee
icon-filter-vintage0xe9ef
icon-flare0xe9f0
icon-flip0xe9f1
icon-gradient0xe9f2
icon-grain0xe9f3
icon-grid-off0xe9f4
icon-grid0xe9f5
icon-hdr-off0xe9f6
icon-hdr0xe9f7
icon-hdr-strong0xe9f8
icon-hdr-weak0xe9f9
icon-healing0xe9fa
icon-leak-add0xe9fb
icon-leak-remove0xe9fc
icon-brightness-10xe9fd
icon-loupe0xe9fe
icon-nature0xe9ff
icon-nature-people0xea00
icon-straighten0xea01
icon-texture0xea02
icon-tonality0xea03
icon-timer-off0xea04
icon-transform0xea05
icon-tune0xea06
icon-cafe0xea07
icon-bar0xea08
icon-rate-review0xea09
icon-restaurant0xea0a
icon-satellite0xea0b
icon-blur-off0xea0c
icon-store-mall-directory0xea0d
icon-navigation0xea0e
icon-pin-drop0xea0f
icon-pizza0xea10
icon-local-play0xea11
icon-pharmacy0xea12
icon-parking0xea13
icon-offer0xea14
icon-blur-on0xea15
icon-mall0xea16
icon-library0xea17
icon-laundry-service0xea18
icon-hotel-alt0xea19
icon-hospital0xea1a
icon-gas-station0xea1b
icon-florist0xea1c
icon-drink0xea1d
icon-atm0xea1e
icon-airport0xea1f
icon-layers-clear0xea20
icon-layers0xea21
icon-directions-ferry0xea22
icon-redeem0xea23
icon-wallet-membership0xea24
icon-wallet-travel0xea25
icon-view-carousel0xea26
icon-verified-user0xea27
icon-trending-down0xea28
icon-trending-neutral0xea29
icon-trending-up0xea2a
icon-add-to-photos0xea2b
icon-translate0xea2c
icon-track-changes0xea2d
icon-toc0xea2e
icon-system-update-tv0xea2f
icon-subject0xea30
icon-supervisor-account0xea31
icon-spellcheck0xea32
icon-speaker-notes0xea33
icon-shop-double0xea34
icon-question-answer0xea35
icon-picture-in-picture0xea36
icon-scan-wifi0xea37
icon-perm-phone-message0xea38
icon-perm-media0xea39
icon-device-info0xea3a
icon-adjust0xea3b
icon-data-settings0xea3c
icon-contact-calendar0xea3d
icon-camera-mic0xea3e
icon-payment0xea3f
icon-pageview0xea40
icon-open-with0xea41
icon-open-in-browser0xea42
icon-note-add0xea43
icon-mark-unread-email0xea44
icon-loyalty0xea45
icon-input0xea46
icon-highlight-remove0xea47
icon-assignment-ind0xea48
icon-assignment0xea49
icon-assignment-late0xea4a
icon-assignment-return0xea4b
icon-assignment-returned0xea4c
icon-assignment-turned-in0xea4d
icon-account-balance0xea4e
icon-account-balance-wallet0xea4f
icon-3d-rotation0xea50
icon-brightness-40xea51
icon-brightness-50xea52
icon-brightness-60xea53
icon-brightness-70xea54
icon-camera-front0xea55
icon-camera-rear0xea56
icon-center-focus-strong0xea57
icon-center-focus-weak0xea58
icon-assistant-photo0xea59
icon-audiotrack0xea5a
icon-blur-circular0xea5b
icon-blur-linear0xea5c
icon-brush0xea5d
icon-brightness-20xea5e
icon-brightness-30xea5f

Toolbars

My app

Example

<div class="toolbar bg-red-500 color-white"> <button class="icon-button"><i class="icon-menu"></i></button> <span class="toolbar-label">My app</span> <span class="float-right"> <button class="icon-button"><i class="icon-search"></i></button> <button class="icon-button"><i class="icon-star"></i></button> </span> </div>

Tabs

  • Item 1
  • Item 2
  • Item 3

Example

<ul class="toolbar tabs bg-green-500 color-white"> <li ripple class="selected"><a href="#">Item 1</a></li> <li ripple><a href="#">Item 2</a></li> <li ripple><a href="#">Item 3</a></li> </ul>
You can also add tabs to underneath a toolbar by using a toolbar-group class that contains both the tabs and the toolbar.
My app
  • Item 1
  • Item 2
  • Item 3

Navigation bars

Art site
Design Photos Wearables

Example

<div class="navbar toolbar bg-teal-500 color-white"> <div class="float-left"> <a href="#" class="bold" ripple>Art site</a> </div> <div class="float-right"> <a href="#" ripple>Design</a> <a href="#" ripple>Photos</a> <a href="#" ripple>Wearables</a> <button class="fab bg-pink-500 color-white"><i class="icon-file-upload"></i></button> </div> </div>

Hello world

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.

Tooltips

Use the data-tooltip attribute to add a custom tooltip to any element. Note that elements using the ::before pseudo class will interfere with the tooltip.

Toasts

Example

<div class="toast"> <label class="toast-label">We could not load your mail</label> <button class="button flat color-yellow-500">Retry</button> </div>
You can also add a rounded class to toasts if needed.

Dialogs

Tip : initialize the Dialog module for quick helper functions

Helpers

Dialog.show(element, callback)

Shows a dialog, callback is optional. element corresponds to a DOM element.

Dialog.hide(element)

Hides a dialog. element corresponds to a DOM element.

Dialog.toggle(element)

Toggles a dialog. element corresponds to a DOM element.

Example

<div class="dialog" hidden> <h1 class="dialog-title">Hello world</h1> <div class="dialog-content"> <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</p> <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</p> </div> <div class="dialog-footer"> <button class="button">More info</button> <span class="float-right"> <button class="button dialog-close">Decline</button> <button class="button color-blue-500 dialog-confirm">Accept</button> </span> </div> </div>

Lists

  • Larry Page I have an action on the right
  • Larry Page I love your Material design framework !
  • Larry Page I love your Material design framework !

Example

<ul class="list"> <li ripple> <img class="item-icon" src="demo-files/avatar.jpg"/> <span class="item-text"> Larry Page <span class="secondary-text"> I have an action on the right </span> </span> <i class="icon-message item-action"></i> </li> </ul>

Grid Lists

Larry Page I love your Material design framework !
Larry Page I love your Material design framework !
Larry Page I love your Material design framework !
Larry Page I love your Material design framework !

Example

<div class="grid-list"> <div class="tile"> <img class="tile-image" src="demo-files/avatar.jpg"/> <div class="tile-footer"> <span class="item-text"> Larry Page <span class="secondary-text"> I love your Material design framework ! </span> </span> <i class="icon-star item-action"></i> </div> </div> </div>

If the tile image does not fit the size of the tile background, you will want to use background images instead to avoid stretching the image.

<div class="tile-image" style="background-image:url(demo-files/avatar.jpg)"></div>

Menus

  • Open file
  • Close file
  • Save file
  • Reload file

Example

<ul class="menu"> <li ripple><a href="#">Open file</a></li> <li class="divider"></li> <li ripple><a href="#">Reload file</a></li> </ul>

Sidemenus

Tip : initialize the SideMenu module to get quick helper functions.

Add the additional sidebar class if you want the sidemenu to persist on desktops (like the one on this page).

Helpers

SideMenu.show(element)

Shows a sidemenu. element corresponds to a DOM element.

SideMenu.hide(element)

Hides a sidemenu. element corresponds to a DOM element.

SideMenu.toggle(element)

Toggles a sidemenu. element corresponds to a DOM element.

Example

<div class="sidemenu" hidden> <div class="sidemenu-hero fade"> <img class="avatar" src="demo-files/avatar.jpg"/> <img class="sidemenu-hero-image" src="demo-files/sidemenu-hero.jpg"/> <span class="title">Larry Page</span> <span class="text">example@gmail.com</span> </div> <ul class="menu"> <li ripple><a href="#"><i class="icon-person-add"></i>Current</a></li> <li ripple><a href="#"><i class="icon-person"></i>Recent</a></li> <li class="divider"></li> <h2 class="subheading">Subheading</h2> <li ripple><a href="#"><i class="icon-archive"></i>Archive</a></li> <li ripple><a href="#"><i class="icon-delete"></i>Trash</a></li> </ul> </div>
Larry Page example@gmail.com
  • Current
  • Recent
  • Subheading

  • Archive
  • Trash

Cards

Rich cards

Kangaroo Valley Safari

Example

<div class="card rich-card"> <div class="card-hero" style="background-image: url('demo-files/card-hero.jpg')"> <h1>Kangaroo Valley Safari</h1> </div> <div class="divider"></div> <div class="card-footer"> <button class="button flat">Share</button> <button class="button flat color-orange-500">Explore</button> </div> </div>

Different depths

Use the z attribute to choose a depth for cards. For example, use <div class="card" z="1"></div> for a card with a z-depth of 1.

z-depth: 1
z-depth: 2
z-depth: 3
z-depth: 4
z-depth: 5

Card Containers

Used the card-containerclass to add a background to <div> container.