- Material Design Lite 教程
- MDL - 首页
- MDL - 概述
- MDL - 环境搭建
- MDL - 布局
- MDL - 网格
- MDL - 标签页
- MDL - 页脚
- MDL - 徽章
- MDL - 按钮
- MDL - 卡片
- MDL - 进度条
- MDL - 加载动画
- MDL - 菜单
- MDL - 滑块
- MDL - 复选框
- MDL - 单选按钮
- MDL - 图标
- MDL - 开关
- MDL - 数据表
- MDL - 文本字段
- MDL - 工具提示
- Material Design Lite 资源
- MDL - 快速指南
- MDL - 有用资源
- MDL - 讨论
Material Design Lite 快速指南
Material Design Lite - 概述
什么是 Material Design Lite?
Material Design Lite (MDL) 是一个使用 CSS、JavaScript 和 HTML 创建的 UI 组件库。MDL UI 组件有助于构建具有吸引力、一致性和功能性的网页和 Web 应用,同时遵循现代 Web 设计原则,例如浏览器可移植性、设备独立性和优雅降级。
以下是 Material Design Lite 的主要特点:
内置响应式设计。
标准 CSS,占用空间极小。
包含常用用户界面控件(例如按钮、复选框和文本字段)的新版本,这些控件已适应 Material Design 的概念。
包含增强的和专门的功能,例如卡片、列布局、滑块、加载动画、标签页、排版等等。
可以与或不与任何库或开发环境一起使用。
跨浏览器兼容,可用于创建可复用的 Web 组件。
响应式设计
Material Design Lite 内置响应式设计,因此使用 Material Design Lite 创建的网站将根据设备尺寸重新设计自身。
Material Design Lite 类被创建的方式使得网站可以适应任何屏幕尺寸。
使用 Material Design Lite 创建的网站完全兼容 PC、平板电脑和移动设备。
标准 CSS
Material Design Lite 只使用标准 CSS,非常容易学习。
它不依赖于任何外部 JavaScript 库,例如 jQuery。
可扩展性 Material Design Lite 本身设计非常简洁和扁平化。
它的设计考虑到了添加新的 CSS 规则比覆盖现有的 CSS 规则更容易的事实。
它支持阴影和大胆的色彩。
颜色和色调在各个平台和设备上保持一致。
最重要的是,MDL 完全免费使用。
Material Design Lite - 环境搭建
使用 Material Design Lite 有两种方法:
**本地安装** - 你可以将 material.{primary}-{accent}.min.css 和 material.min.js 文件下载到本地机器,并将其包含在你的 HTML 代码中。
**基于 CDN 的版本** - 你可以直接从内容分发网络 (CDN) 将 material.{primary}-{accent}.min.css 和 material.min.js 文件包含到你的 HTML 代码中。
本地安装
按照以下步骤安装 MDL:
访问 https://www.getmdl.io/started/index.html 下载最新版本。
然后,将下载的 **material.min.js** 文件放在你的网站目录中,例如 /js,并将 **material.min.css** 文件放在 /css 目录中。
示例
现在,你可以按如下方式在你的 HTML 文件中包含 *css* 和 *js* 文件:
<html> <head> <title>The Material Design Lite Example</title> <meta name = "viewport" content = "width = device-width, initial-scale = 1"> <link rel = "stylesheet" href = "material.min.css"> <script src = "material.min.js"></script> <link rel = "stylesheet" href = "https://fonts.googleapis.com/icon?family=Material+Icons"> </head> <body> <div class = "mdl-layout mdl-js-layout mdl-layout--fixed-drawer"> <div class = "mdl-layout__drawer"> <span class = "mdl-layout-title">Material Design</span> <nav class = "mdl-navigation"> <a class = "mdl-navigation__link" href = "">Home</a> <a class = "mdl-navigation__link" href = "">Features</a> <a class = "mdl-navigation__link" href = "">About Us</a> <a class = "mdl-navigation__link" href = "">Log Out</a> </nav> </div> <main class = "mdl-layout__content"> <div class = "page-content" style = "padding-left:100px;">Hello World!</div> </main> </div> </body> </html>
以上程序将生成以下结果:
基于 CDN 的版本
你可以直接从内容分发网络 (CDN) 将 js 和 css 文件包含到你的 HTML 代码中。**storage.googleapis.com** 提供最新版本的资源。
在本教程中,我们始终使用 storage.googleapis.com CDN 版本的库。
示例
现在,让我们使用来自 Google CDN 的 material.css 和 material.js 重写上面的示例。
<html> <head> <title>The Material Design Lite Example</title> <meta name = "viewport" content = "width = device-width, initial-scale = 1"> <link rel = "stylesheet" href = "https://storage.googleapis.com/code.getmdl.io/1.0.6/material.indigo-pink.min.css"> <script src = "https://storage.googleapis.com/code.getmdl.io/1.0.6/material.min.js"></script> <link rel = "stylesheet" href = "https://fonts.googleapis.com/icon?family=Material+Icons"> </head> <body> <div class = "mdl-layout mdl-js-layout mdl-layout--fixed-drawer"> <div class = "mdl-layout__drawer"> <span class = "mdl-layout-title">Material Design</span> <nav class = "mdl-navigation"> <a class = "mdl-navigation__link" href = "">Home</a> <a class = "mdl-navigation__link" href = "">Features</a> <a class = "mdl-navigation__link" href = "">About Us</a> <a class = "mdl-navigation__link" href = "">Log Out</a> </nav> </div> <main class = "mdl-layout__content"> <div class = "page-content" style = "padding-left:100px;">Hello World!</div> </main> </div> </body> </html>
以上程序将生成以下结果:
Material Design Lite - 布局
在本章中,我们将讨论 Material Design Lite 中的不同布局。HTML5 有以下容器元素:
**<div>** - 为 HTML 内容提供通用容器。
**<header>** - 代表页眉部分。
**<footer>** - 代表页脚部分。
**<article>** - 代表文章。
**<section>** - 为各种类型的部分提供通用容器。
MDL 提供各种 CSS 类,用于将各种预定义的视觉和行为增强应用于容器。下表列出了可用的类及其效果。
序号 | 类名及描述 |
---|---|
1 | mdl-layout 将容器标识为 MDL 组件。外层容器元素需要此类。 |
2 | mdl-js-layout 向布局添加基本的 MDL 行为。外层容器元素需要此类。 |
3 | mdl-layout__header 将容器标识为 MDL 组件。页眉元素需要此类。 |
4 | mdl-layout-icon 用于添加应用程序图标。如果两者都可见,则会被菜单图标覆盖。可选图标元素。 |
5 | mdl-layout__header-row 将容器标识为 MDL 页眉行。页眉内容容器需要此类。 |
6 | mdl-layout__title 标识布局标题文本。布局标题容器需要此类。 |
7 | mdl-layout-spacer 用于对齐页眉或抽屉内的元素。它会增长以填充剩余空间。通常用于将元素右对齐。布局标题后面的 div 上可选。 |
8 | mdl-navigation 将容器标识为 MDL 导航组。nav 元素需要此类。 |
9 | mdl-navigation__link 将锚点标识为 MDL 导航链接。页眉和/或抽屉锚元素需要此类。 |
10 | mdl-layout__drawer 将容器标识为 MDL 布局抽屉。抽屉容器元素需要此类。 |
11 | mdl-layout__content 将容器标识为 MDL 布局内容。主元素需要此类。 |
12 | mdl-layout__header--scroll 使页眉随内容滚动。页眉元素上可选。 |
13 | mdl-layout--fixed-drawer 使抽屉始终可见并在较大屏幕上打开。外层容器元素上可选,而不是抽屉容器元素上。 |
14 | mdl-layout--fixed-header 使页眉始终可见,即使在小屏幕上也是如此。外层容器元素上可选。 |
15 | mdl-layout--large-screen-only 在较小屏幕上隐藏元素。mdl-layout 的任何子元素上可选。 |
16 | mdl-layout--small-screen-only 在大屏幕上隐藏元素。mdl-layout 的任何子元素上可选。 |
17 | mdl-layout__header--waterfall 允许使用多行页眉的“瀑布”效果。页眉元素上可选。 |
18 | mdl-layout__header--transparent 使页眉透明并在布局背景之上绘制。页眉元素上可选。 |
19 | mdl-layout__header--seamed 使用没有阴影的页眉。页眉元素上可选。 |
20 | mdl-layout__tab-bar 将容器标识为 MDL 标签栏。页眉内(选项卡式布局)的容器元素需要此类。 |
21 | mdl-layout__tab 将锚点标识为 MDL 标签链接。标签栏锚元素需要此类。 |
22 | is-active 将标签标识为默认活动标签。标签栏锚元素和关联的标签部分元素上可选。 |
23 | mdl-layout__tab-panel 将容器标识为标签内容面板。标签部分元素需要此类。 |
24 | mdl-layout--fixed-tabs 使用固定标签而不是默认的可滚动标签。外层容器元素上可选,而不是页眉内的容器。 |
以下示例显示了使用 mdl-layout 类来设置各种容器样式。
固定抽屉
要创建具有固定抽屉但没有页眉的模板,可以使用以下 MDL 类。
**mdl-layout** - 将 div 标识为 MDL 组件。
**mdl-js-layout** - 向外层 div 添加基本的 MDL 行为。
**mdl-layout--fixed-drawer** - 使抽屉始终可见并在较大屏幕上打开。
**mdl-layout__drawer** - 将 div 标识为 MDL 布局抽屉。
**mdl-layout-title** - 标识布局标题文本。
**mdl-navigation** - 将 div 标识为 MDL 导航组。
**mdl-navigation__link** - 将锚点标识为 MDL 导航链接。
**mdl-layout__content** - 将 div 标识为 MDL 布局内容。
mdl_fixeddrawer.htm
<html> <head> <link rel = "stylesheet" href = "https://storage.googleapis.com/code.getmdl.io/1.0.6/material.indigo-pink.min.css"> <script src = "https://storage.googleapis.com/code.getmdl.io/1.0.6/material.min.js"> </script> <link rel = "stylesheet" href = "https://fonts.googleapis.com/icon?family=Material+Icons"> </head> <body> <!-- No header, and the drawer stays open on larger screens (fixed drawer).--> <div class = "mdl-layout mdl-js-layout mdl-layout--fixed-drawer"> <div class = "mdl-layout__drawer"> <span class = "mdl-layout-title">HTML5 Tutorial</span> <nav class = "mdl-navigation"> <a class = "mdl-navigation__link" href = "">Home</a> <a class = "mdl-navigation__link" href = "">About</a> </nav> </div> <main class = "mdl-layout__content"> <div class = "page-content" style = "padding-left:100px;">Hello World!</div> </main> </div> </body> </html>
结果
验证结果。
固定页眉
要创建具有固定页眉的模板,可以使用以下附加 MDL 类。
**mdl-layout--fixed-header** - 使页眉始终可见,即使在小屏幕上也是如此。
mdl_fixedheader.htm
<html> <head> <link rel = "stylesheet" href = "https://storage.googleapis.com/code.getmdl.io/1.0.6/material.indigo-pink.min.css"> <script src = "https://storage.googleapis.com/code.getmdl.io/1.0.6/material.min.js"> </script> <link rel = "stylesheet" href = "https://fonts.googleapis.com/icon?family=Material+Icons"> </head> <body> <!-- Always shows a header, even in smaller screens. --> <div class = "mdl-layout mdl-js-layout mdl-layout--fixed-header"> <header class = "mdl-layout__header"> <div class = "mdl-layout__header-row"> <!-- Title --> <span class = "mdl-layout-title">HTML5 Tutorial</span> <!-- Add spacer, to align navigation to the right --> <div class = "mdl-layout-spacer"></div> <!-- Navigation --> <nav class = "mdl-navigation"> <a class = "mdl-navigation__link" href = "" style = "color:gray">Home</a> <a class = "mdl-navigation__link" href = "" style = "color:gray">About</a> </nav> </div> </header> <div class = "mdl-layout__drawer"> <span class = "mdl-layout-title">HTML5 Tutorial</span> <nav class = "mdl-navigation"> <a class = "mdl-navigation__link" href = "">Home</a> <a class = "mdl-navigation__link" href = "">About</a> </nav> </div> <main class = "mdl-layout__content"> <div class = "page-content">Hello World!</div> </main> </div> </body> </html>
结果
验证结果。
固定页眉和抽屉
要创建具有固定页眉和固定抽屉的模板,可以使用以下附加 MDL 类。
**mdl-layout--fixed-drawer** - 使抽屉始终可见并在较大屏幕上打开。
**mdl-layout--fixed-header** - 使页眉始终可见,即使在小屏幕上也是如此。
mdl_fixedheader.htm
<html> <head> <link rel = "stylesheet" href = "https://storage.googleapis.com/code.getmdl.io/1.0.6/material.indigo-pink.min.css"> <script src = "https://storage.googleapis.com/code.getmdl.io/1.0.6/material.min.js"> </script> <link rel = "stylesheet" href = "https://fonts.googleapis.com/icon?family=Material+Icons"> </head> <body> <!-- The drawer is always open in large screens. The header is always shown, even in small screens. --> <div class = "mdl-layout mdl-js-layout mdl-layout--fixed-drawer mdl-layout--fixed-header"> <header class = "mdl-layout__header"> <div class = "mdl-layout__header-row"> <!-- Title --> <span class = "mdl-layout-title">HTML5 Tutorial</span> <!-- Add spacer, to align navigation to the right --> <div class = "mdl-layout-spacer"></div> <!-- Navigation --> <nav class = "mdl-navigation"> <a class = "mdl-navigation__link" href = "" style = "color:gray">Home</a> <a class = "mdl-navigation__link" href = "" style = "color:gray">About</a> </nav> </div> </header> <div class = "mdl-layout__drawer"> <span class = "mdl-layout-title">HTML5 Tutorial</span> <nav class = "mdl-navigation"> <a class = "mdl-navigation__link" href = "">Home</a> <a class = "mdl-navigation__link" href = "">About</a> </nav> </div> <main class = "mdl-layout__content"> <div class = "page-content">Hello World!</div> </main> </div> </body> </html>
结果
验证结果。
滚动页眉
要创建具有滚动页眉的模板,可以使用以下 MDL 类。
**mdl-layout--header--scroll** - 使页眉随内容滚动。
mdl_scrollingheader.htm
<html> <head> <link rel = "stylesheet" href = "https://storage.googleapis.com/code.getmdl.io/1.0.6/material.indigo-pink.min.css"> <script src = "https://storage.googleapis.com/code.getmdl.io/1.0.6/material.min.js"> </script> <link rel = "stylesheet" href = "https://fonts.googleapis.com/icon?family=Material+Icons"> </head> <body> <!-- Uses a header that scrolls with the text, rather than staying locked at the top --> <div class = "mdl-layout mdl-js-layout "> <header class = "mdl-layout__header mdl-layout__header--scroll"> <div class = "mdl-layout__header-row"> <!-- Title --> <span class = "mdl-layout-title">HTML5 Tutorial</span> <!-- Add spacer, to align navigation to the right --> <div class = "mdl-layout-spacer"></div> <!-- Navigation --> <nav class = "mdl-navigation"> <a class = "mdl-navigation__link" href = "">Home</a> <a class = "mdl-navigation__link" href = "">About</a> </nav> </div> </header> <div class = "mdl-layout__drawer"> <span class = "mdl-layout-title">HTML5 Tutorial</span> <nav class = "mdl-navigation"> <a class = "mdl-navigation__link" href = "">Home</a> <a class = "mdl-navigation__link" href = "">About</a> </nav> </div> <main class = "mdl-layout__content"> <div class = "page-content" style = "padding-left:100px;">Hello World! <br/><br/><br/><br/><br/><br/><br/><br/>... <br/><br/><br/><br/><br/><br/><br/><br/>... <br/><br/><br/><br/><br/><br/><br/><br/>... <br/><br/><br/><br/><br/><br/><br/><br/>... <br/><br/><br/><br/><br/><br/><br/><br/>... <br/><br/><br/><br/><br/><br/><br/><br/>... <br/><br/><br/><br/><br/><br/><br/><br/>... <br/><br/><br/><br/><br/><br/><br/><br/>... <br/><br/><br/><br/><br/><br/><br/><br/>... <br/><br/><br/><br/><br/><br/><br/><br/>... <br/><br/><br/><br/><br/><br/><br/><br/>... <br/><br/><br/><br/><br/><br/><br/><br/>... <br/><br/><br/><br/><br/><br/><br/><br/>... <br/><br/><br/><br/><br/><br/><br/><br/>... <br/><br/><br/><br/><br/><br/><br/><br/>... <br/><br/><br/><br/><br/><br/><br/><br/>... <br/><br/><br/><br/><br/><br/><br/><br/>... <br/><br/><br/><br/><br/><br/><br/><br/>... <br/><br/><br/><br/><br/><br/><br/><br/>... <br/><br/><br/><br/><br/><br/><br/><br/>... </div> </main> </div> </body> </html>
结果
验证结果。
收缩页眉
要创建页面向下滚动时页眉会收缩的模板,可以使用以下 MDL 类。
**mdl-layout__header--waterfall** - 允许使用多行页眉的“瀑布”效果。
mdl_waterfallheader.htm
<html> <head> <link rel = "stylesheet" href = "https://storage.googleapis.com/code.getmdl.io/1.0.6/material.indigo-pink.min.css"> <script src = "https://storage.googleapis.com/code.getmdl.io/1.0.6/material.min.js"> </script> <link rel = "stylesheet" href = "https://fonts.googleapis.com/icon?family=Material+Icons"> </head> <body> <!-- The drawer is always open in large screens. The header is always shown, even in small screens. --> <div class = "mdl-layout mdl-js-layout "> <header class = "mdl-layout__header mdl-layout__header--waterfall"> <!-- Top row, always visible --> <div class = "mdl-layout__header-row"> <!-- Title --> <span class = "mdl-layout-title">HTML5 Tutorial</span> <!-- Add spacer, to align navigation to the right --> <div class = "mdl-layout-spacer"></div> </div> <!-- Bottom row, not visible on scroll --> <div class = "mdl-layout__header-row"> <div class = "mdl-layout-spacer"></div> <!-- Navigation --> <nav class = "mdl-navigation"> <a class = "mdl-navigation__link" href = "">Home</a> <a class = "mdl-navigation__link" href = "">About</a> </nav> </div> </header> <div class = "mdl-layout__drawer"> <span class = "mdl-layout-title">HTML5 Tutorial</span> <nav class = "mdl-navigation"> <a class = "mdl-navigation__link" href = "">Home</a> <a class = "mdl-navigation__link" href = "">About</a> </nav> </div> <main class = "mdl-layout__content"> <div class = "page-content" style = "padding-left:100px;">Hello World! <br/><br/><br/><br/><br/><br/><br/><br/>... <br/><br/><br/><br/><br/><br/><br/><br/>... <br/><br/><br/><br/><br/><br/><br/><br/>... <br/><br/><br/><br/><br/><br/><br/><br/>... <br/><br/><br/><br/><br/><br/><br/><br/>... <br/><br/><br/><br/><br/><br/><br/><br/>... <br/><br/><br/><br/><br/><br/><br/><br/>... <br/><br/><br/><br/><br/><br/><br/><br/>... <br/><br/><br/><br/><br/><br/><br/><br/>... <br/><br/><br/><br/><br/><br/><br/><br/>... <br/><br/><br/><br/><br/><br/><br/><br/>... <br/><br/><br/><br/><br/><br/><br/><br/>... <br/><br/><br/><br/><br/><br/><br/><br/>... <br/><br/><br/><br/><br/><br/><br/><br/>... <br/><br/><br/><br/><br/><br/><br/><br/>... <br/><br/><br/><br/><br/><br/><br/><br/>... <br/><br/><br/><br/><br/><br/><br/><br/>... <br/><br/><br/><br/><br/><br/><br/><br/>... <br/><br/><br/><br/><br/><br/><br/><br/>... <br/><br/><br/><br/><br/><br/><br/><br/>... </div> </main> </div> </body> </html>
结果
验证结果。
具有可滚动标签的固定页眉
要创建具有可滚动标签的页眉的模板,可以使用以下 MDL 类。
**mdl-layout__tab-bar** - 将容器标识为 MDL 标签栏。
**mdl-layout__tab** - 将锚点标识为 MDL 标签链接。
**mdl-layout__tab-panel** - 将容器标识为标签内容面板。
mdl_scrollabletabheader.htm
<html> <head> <link rel = "stylesheet" href = "https://storage.googleapis.com/code.getmdl.io/1.0.6/material.indigo-pink.min.css"> <script src = "https://storage.googleapis.com/code.getmdl.io/1.0.6/material.min.js"> </script> <link rel = "stylesheet" href = "https://fonts.googleapis.com/icon?family=Material+Icons"> </head> <body> <!-- The drawer is always open in large screens. The header is always shown, even in small screens. --> <div class = "mdl-layout mdl-js-layout mdl-layout--fixed-header"> <header class = "mdl-layout__header"> <!-- Top row, always visible --> <div class = "mdl-layout__header-row"> <!-- Title --> <span class = "mdl-layout-title">HTML5 Tutorial</span> </div> <!-- Tabs --> <div class = "mdl-layout__tab-bar mdl-js-ripple-effect"> <a href = "#scroll-tab-1" class = "mdl-layout__tab is-active">Tab 1</a> <a href = "#scroll-tab-2" class = "mdl-layout__tab">Tab 2</a> <a href = "#scroll-tab-3" class = "mdl-layout__tab">Tab 3</a> </div> </header> <div class = "mdl-layout__drawer"> <span class = "mdl-layout-title">HTML5 Tutorial</span> <nav class = "mdl-navigation"> <a class = "mdl-navigation__link" href = "">Home</a> <a class = "mdl-navigation__link" href = "">About</a> </nav> </div> <main class = "mdl-layout__content"> <section class = "mdl-layout__tab-panel is-active" id = "scroll-tab-1"> <div class = "page-content">Tab 1 Contents</div> </section> <section class = "mdl-layout__tab-panel" id = "scroll-tab-2"> <div class = "page-content">Tab 2 Contents</div> </section> <section class = "mdl-layout__tab-panel" id = "scroll-tab-3"> <div class = "page-content">Tab 3 Contents</div> </section> </main> </div> </body> </html>
结果
验证结果。
具有固定标签的固定页眉
要创建具有固定标签的页眉的模板,可以使用以下附加 MDL 类。
**mdl-layout--fixed-tabs** - 使用固定标签而不是默认的可滚动标签。
mdl_fixedtabheader.htm
<html> <head> <link rel = "stylesheet" href = "https://storage.googleapis.com/code.getmdl.io/1.0.6/material.indigo-pink.min.css"> <script src = "https://storage.googleapis.com/code.getmdl.io/1.0.6/material.min.js"> </script> <link rel = "stylesheet" href = "https://fonts.googleapis.com/icon?family=Material+Icons"> </head> <body> <!-- The drawer is always open in large screens. The header is always shown, even in small screens. --> <div class = "mdl-layout mdl-js-layout mdl-layout--fixed-header mdl-layout--fixed-tabs"> <header class = "mdl-layout__header"> <!-- Top row, always visible --> <div class = "mdl-layout__header-row"> <!-- Title --> <span class = "mdl-layout-title">HTML5 Tutorial</span> </div> <!-- Tabs --> <div class = "mdl-layout__tab-bar mdl-js-ripple-effect"> <a href = "#scroll-tab-1" class = "mdl-layout__tab is-active">Tab 1</a> <a href = "#scroll-tab-2" class = "mdl-layout__tab">Tab 2</a> <a href = "#scroll-tab-3" class = "mdl-layout__tab">Tab 3</a> </div> </header> <div class = "mdl-layout__drawer"> <span class = "mdl-layout-title">HTML5 Tutorial</span> <nav class = "mdl-navigation"> <a class = "mdl-navigation__link" href = "">Home</a> <a class = "mdl-navigation__link" href = "">About</a> </nav> </div> <main class = "mdl-layout__content"> <section class = "mdl-layout__tab-panel is-active" id = "scroll-tab-1"> <div class = "page-content">Tab 1 Contents</div> </section> <section class = "mdl-layout__tab-panel" id = "scroll-tab-2"> <div class = "page-content">Tab 2 Contents</div> </section> <section class = "mdl-layout__tab-panel" id = "scroll-tab-3"> <div class = "page-content">Tab 3 Contents</div> </section> </main> </div> </body> </html>
结果
验证结果。
Material Design Lite - 网格
Material Design Lite (MDL) 网格是一个用于针对不同屏幕尺寸布局内容的组件。MDL 网格由容器/div 元素定义和包含。网格在桌面尺寸屏幕上有 12 列,在平板电脑尺寸屏幕上有 8 列,在手机尺寸屏幕上有 4 列,每个尺寸都有预定义的边距和间距。单元格按顺序在行中布局,按照定义的顺序,但以下情况除外:
如果网格单元格在一个屏幕尺寸的行中不合适,它会流到下一行。
如果网格单元格的指定列大小等于或大于屏幕尺寸的列数,它将占据整行。
MDL 提供各种 CSS 类,用于将各种预定义的视觉和行为增强应用于网格。下表列出了可用的类及其效果。
序号 | 类名及描述 |
---|---|
1 | mdl-layout 将容器标识为 MDL 组件。外层容器元素需要此类。 |
2 | mdl-grid 将容器标识为 MDL 网格组件。“外层”div 元素需要此类。 |
3 | mdl-cell 将容器标识为 MDL 单元格。“内层”div 元素需要此类。 |
4 | mdl-grid--no-spacing 更新网格单元格,使其之间没有边距。网格容器可选。 |
5 | mdl-cell--N-col 这有助于将单元格的列大小设置为 N,N 为 1-12(包括 1 和 12),默认为 4;“内层”div 元素可选。 |
6 | mdl-cell--N-col-desktop 这有助于仅在桌面模式下将单元格的列大小设置为 N,N 为 1-12(包括 1 和 12);“内层”div 元素可选。 |
7 | mdl-cell--N-col-tablet 这有助于仅在平板模式下将单元格的列大小设置为 N,N 的取值为 1-8(包含 1 和 8);对于“内部”div 元素可选。 |
8 | mdl-cell--N-col-phone 这有助于仅在手机模式下将单元格的列大小设置为 N,N 的取值为 1-4(包含 1 和 4);对于“内部”div 元素可选。 |
9 | mdl-cell--hide-desktop 在桌面模式下隐藏单元格。对于“内部”div 元素可选。 |
10 | mdl-cell--hide-tablet 在平板模式下隐藏单元格。对于“内部”div 元素可选。 |
11 | mdl-cell--hide-phone 在手机模式下隐藏单元格。对于“内部”div 元素可选。 |
12 | mdl-cell--stretch 垂直拉伸单元格以填充父元素,默认值;对于“内部”div 元素可选。 |
13 | mdl-cell--top 将单元格与父元素顶部对齐。对于“内部”div 元素可选。 |
14 | mdl-cell--middle 将单元格与父元素中间对齐。对于“内部”div 元素可选。 |
15 | mdl-cell--bottom 将单元格与父元素底部对齐。对于“内部”div 元素可选。 |
示例
以下示例将帮助您理解如何使用 mdl-grid 类在各种屏幕上布局内容。
本示例中将使用以下 MDL 类。
**mdl-layout** - 将 div 标识为 MDL 组件。
**mdl-js-layout** - 向外层 div 添加基本的 MDL 行为。
**mdl-layout--fixed-header** - 使页眉始终可见,即使在小屏幕上也是如此。
mdl-layout__header-row − 将容器标识为 MDL 头部行。
**mdl-layout__drawer** - 将 div 标识为 MDL 布局抽屉。
**mdl-layout-title** - 标识布局标题文本。
**mdl-navigation** - 将 div 标识为 MDL 导航组。
**mdl-navigation__link** - 将锚点标识为 MDL 导航链接。
**mdl-layout__content** - 将 div 标识为 MDL 布局内容。
mdl-grid − 将 div 标识为 MDL 网格组件。
mdl-cell − 将 div 标识为 MDL 单元格。
mdl-cell--1-col − 将单元格的列大小设置为桌面屏幕大小下 12 个单元格中的 1 个单元格。
mdl-cell--2-col − 将单元格的列大小设置为桌面屏幕大小下 12 个单元格中的 2 个单元格。
mdl-cell--4-col − 将单元格的列大小设置为桌面屏幕大小下 12 个单元格中的 4 个单元格。
mdl-cell--6-col − 将单元格的列大小设置为桌面屏幕大小下 12 个单元格中的 6 个单元格。
mdl-cell--4-col-phone − 将单元格的列大小设置为手机屏幕大小下 4 个单元格中的 4 个单元格。
mdl-cell--6-col-tablet − 将单元格的列大小设置为平板屏幕大小下 8 个单元格中的 6 个单元格。
mdl-cell--8-col-tablet − 将单元格的列大小设置为平板屏幕大小下 8 个单元格中的 8 个单元格。
mdl_grid.htm
<html> <head> <link rel = "stylesheet" href = "https://storage.googleapis.com/code.getmdl.io/1.0.6/material.indigo-pink.min.css"> <script src = "https://storage.googleapis.com/code.getmdl.io/1.0.6/material.min.js"> </script> <link rel = "stylesheet" href = "https://fonts.googleapis.com/icon?family=Material+Icons"> <style> .graybox { background-color:#ddd; } </style> </head> <body> <div class = "mdl-layout mdl-js-layout mdl-layout--fixed-header"> <header class = "mdl-layout__header"> <div class = "mdl-layout__header-row"> <span class = "mdl-layout-title">Material Design Grid</span> </div> </header> <div class = "mdl-layout__drawer"> <span class = "mdl-layout-title">Material Design Tutorial</span> <nav class = "mdl-navigation"> <a class = "mdl-navigation__link" href = "">Home</a> <a class = "mdl-navigation__link" href = "">About</a> </nav> </div> <main class = "mdl-layout__content"> <div class = "mdl-grid"> <div class = "mdl-cell mdl-cell--1-col graybox">1</div> <div class = "mdl-cell mdl-cell--1-col graybox">2</div> <div class = "mdl-cell mdl-cell--1-col graybox">3</div> <div class = "mdl-cell mdl-cell--1-col graybox">4</div> <div class = "mdl-cell mdl-cell--1-col graybox">5</div> <div class = "mdl-cell mdl-cell--1-col graybox">6</div> <div class = "mdl-cell mdl-cell--1-col graybox">7</div> <div class = "mdl-cell mdl-cell--1-col graybox">8</div> <div class = "mdl-cell mdl-cell--1-col graybox">9</div> <div class = "mdl-cell mdl-cell--1-col graybox">10</div> <div class = "mdl-cell mdl-cell--1-col graybox">11</div> <div class = "mdl-cell mdl-cell--1-col graybox">12</div> </div> <div class = "mdl-grid"> <div class = "mdl-cell mdl-cell--4-col graybox">1</div> <div class = "mdl-cell mdl-cell--4-col graybox">2</div> <div class = "mdl-cell mdl-cell--4-col graybox">3</div> </div> <div class = "mdl-grid"> <div class = "mdl-cell mdl-cell--6-col graybox">6</div> <div class = "mdl-cell mdl-cell--4-col graybox">4</div> <div class = "mdl-cell mdl-cell--2-col graybox">2</div> </div> <div class = "mdl-grid"> <div class = "mdl-cell mdl-cell--6-col mdl-cell--8-col-tablet graybox"> 6 on desktop, 8 on tablet</div> <div class = "mdl-cell mdl-cell--4-col mdl-cell--6-col-tablet graybox"> 4 on desktop, 6 on tablet</div> <div class = "mdl-cell mdl-cell--2-col mdl-cell--4-col-phone graybox"> 2 on desktop, 4 on phone</div> </div> </main> </div> </body> </html>
结果
验证结果。
Material Design Lite - 标签页
Material Design Lite (MDL) 标签页组件是一个用户界面组件,它有助于以独占方式在一个空间中显示多个屏幕。
MDL 提供各种 CSS 类,可将各种预定义的视觉和行为增强应用于标签页。下表列出了可用的类及其效果。
序号 | 类名及描述 |
---|---|
1 | mdl-layout 将容器标识为 MDL 组件。外层容器元素需要此类。 |
2 | mdl-tabs 将标签页容器标识为 MDL 组件。“外部”div 元素必需。 |
3 | mdl-js-tabs 为标签页容器设置基本的 MDL 行为。“外部”div 元素必需。 |
4 | mdl-js-ripple-effect 为标签页链接添加涟漪点击效果。可选;位于“外部”div 元素上。 |
5 | mdl-tabs__tab-bar 将容器标识为 MDL 标签页链接栏。第一个“内部”div 元素必需。 |
6 | mdl-tabs__tab 将锚点(链接)标识为 MDL 标签页激活器。第一个“内部”div 元素中的所有链接都必需。 |
7 | is-active 将标签页标识为默认显示标签页。“内部”div(标签页)元素中的一个(且只有一个)必需。 |
8 | mdl-tabs__panel 将容器标识为标签页内容。每个“内部”div(标签页)元素都必需。 |
示例
以下示例将帮助您理解如何使用 mdl-tab 类在各种标签页上布局内容。
本示例中将使用以下 MDL 类:
**mdl-layout** - 将 div 标识为 MDL 组件。
**mdl-js-layout** - 向外层 div 添加基本的 MDL 行为。
**mdl-layout--fixed-header** - 使页眉始终可见,即使在小屏幕上也是如此。
mdl-layout__header-row − 将容器标识为 MDL 头部行。
**mdl-layout-title** - 标识布局标题文本。
**mdl-layout__content** - 将 div 标识为 MDL 布局内容。
mdl-tabs − 将标签页容器标识为 MDL 组件。
mdl-js-tabs − 为标签页容器设置基本的 MDL 行为。
mdl-tabs__tab-bar − 将容器标识为 MDL 标签页链接栏。
mdl-tabs__tab − 将锚点(链接)标识为 MDL 标签页激活器。
is-active − 将标签页标识为默认显示标签页。
mdl-tabs__panel − 将容器标识为标签页内容。
mdl_tabs.htm
<html> <head> <link rel = "stylesheet" href = "https://storage.googleapis.com/code.getmdl.io/1.0.6/material.indigo-pink.min.css"> <script src = "https://storage.googleapis.com/code.getmdl.io/1.0.6/material.min.js"> </script> <link rel = "stylesheet" href = "https://fonts.googleapis.com/icon?family=Material+Icons"> </head> <body> <div class = "mdl-layout mdl-js-layout mdl-layout--fixed-header"> <header class = "mdl-layout__header"> <div class = "mdl-layout__header-row"> <span class = "mdl-layout-title">Material Design Tabs</span> </div> </header> <main class = "mdl-layout__content"> <div class = "mdl-tabs mdl-js-tabs"> <div class = "mdl-tabs__tab-bar"> <a href = "#tab1-panel" class = "mdl-tabs__tab is-active">Tab 1</a> <a href = "#tab2-panel" class = "mdl-tabs__tab">Tab 2</a> <a href = "#tab3-panel" class = "mdl-tabs__tab">Tab 3</a> </div> <div class = "mdl-tabs__panel is-active" id = "tab1-panel"> <p>Tab 1 Content</p> </div> <div class = "mdl-tabs__panel" id = "tab2-panel"> <p>Tab 2 Content</p> </div> <div class = "mdl-tabs__panel" id = "tab3-panel"> <p>Tab 3 Content</p> </div> </div> </main> </div> </body> </html>
结果
验证结果。
Material Design Lite - 页脚
MDL 页脚组件主要有两种形式:大型页脚和小型页脚。大型页脚包含比小型页脚更复杂的内容。大型页脚可以表示多个由水平线分隔的内容部分,而小型页脚则呈现单个内容部分。页脚通常包含信息内容和可点击内容,例如链接。
MDL 提供各种 CSS 类,可将各种预定义的视觉和行为增强应用于大型页脚和小型页脚。下表列出了可用的类及其效果。
序号 | 类名及描述 |
---|---|
1 | mdl-mega-footer 将容器标识为 MDL 大型页脚组件。页脚元素必需。 |
2 | mdl-mega-footer__top-section 将容器标识为页脚顶部部分。“外部”div 元素必需。 |
3 | mdl-mega-footer__left-section 将容器标识为左侧部分。“内部”div 元素必需。 |
4 | mdl-mega-footer__social-btn 标识大型页脚中的装饰性方块。按钮元素(如果使用)必需。 |
5 | mdl-mega-footer__right-section 将容器标识为右侧部分。“内部”div 元素必需。 |
6 | mdl-mega-footer__middle-section 将容器标识为页脚中间部分。“外部”div 元素必需。 |
7 | mdl-mega-footer__drop-down-section 将容器标识为下拉(垂直)内容区域。“内部”div 元素必需。 |
8 | mdl-mega-footer__heading 将标题标识为大型页脚标题。下拉部分内的 h1 元素必需。 |
9 | mdl-mega-footer__link-list 将无序列表标识为下拉(垂直)列表。下拉部分内的 ul 元素必需。 |
10 | mdl-mega-footer__bottom-section 将容器标识为页脚底部部分。“外部”div 元素必需。 |
11 | mdl-logo 将容器标识为样式化的部分标题。大型页脚底部部分或小型页脚左侧部分中的“内部”div 元素必需。 |
12 | mdl-mini-footer 将容器标识为 MDL 小型页脚组件。页脚元素必需。 |
13 | mdl-mini-footer__left-section 将容器标识为左侧部分。“内部”div 元素必需。 |
14 | mdl-mini-footer__link-list 将无序列表标识为内联(水平)列表。“mdl-logo”div 元素的同级 ul 元素必需。 |
15 | mdl-mini-footer__right-section 将容器标识为右侧部分。“内部”div 元素必需。 |
16 | mdl-mini-footer__social-btn 标识小型页脚中的装饰性方块。按钮元素(如果使用)必需。 |
现在,让我们看几个示例,以了解如何使用 MDL 页脚类来设置页脚的样式。
大型页脚
让我们讨论如何使用mdl-mega-footer类在页脚中布局内容。本示例中将使用以下 MDL 类。
**mdl-layout** - 将 div 标识为 MDL 组件。
**mdl-js-layout** - 向外层 div 添加基本的 MDL 行为。
**mdl-layout--fixed-header** - 使页眉始终可见,即使在小屏幕上也是如此。
mdl-layout__header-row − 将容器标识为 MDL 头部行。
**mdl-layout-title** - 标识布局标题文本。
**mdl-layout__content** - 将 div 标识为 MDL 布局内容。
mdl-mega-footer − 将容器标识为 MDL 大型页脚组件。
mdl-mega-footer__top-section − 将容器标识为页脚顶部部分。
mdl-mega-footer__left-section − 将容器标识为左侧部分。
mdl-mega-footer__social-btn − 标识小型页脚中的装饰性方块。
mdl-mega-footer__right-section − 将容器标识为右侧部分。
mdl-mega-footer__middle-section − 将容器标识为页脚中间部分。
mdl-mega-footer__drop-down-section − 将容器标识为下拉(垂直)内容区域。
mdl-mega-footer__heading − 将标题标识为大型页脚标题。
mdl-mega-footer__link-list − 将无序列表标识为内联(水平)列表。
mdl-mega-footer__bottom-section − 将容器标识为页脚底部部分。
mdl-logo − 将容器标识为样式化的部分标题。
mdl_megafooter.htm
<html> <head> <link rel = "stylesheet" href = "https://storage.googleapis.com/code.getmdl.io/1.0.6/material.indigo-pink.min.css"> <script src = "https://storage.googleapis.com/code.getmdl.io/1.0.6/material.min.js"> </script> <link rel = "stylesheet" href = "https://fonts.googleapis.com/icon?family=Material+Icons"> </head> <body> <div class = "mdl-layout mdl-js-layout mdl-layout--fixed-header"> <header class = "mdl-layout__header"> <div class = "mdl-layout__header-row"> <span class = "mdl-layout-title">Material Design Tabs</span> </div> </header> <main class = "mdl-layout__content"> <footer class = "mdl-mega-footer"> <div class = "mdl-mega-footer__top-section"> <div class = "mdl-mega-footer__left-section"> <button class = "mdl-mega-footer__social-btn">1</button> <button class = "mdl-mega-footer__social-btn">2</button> <button class = "mdl-mega-footer__social-btn">3</button> </div> <div class = "mdl-mega-footer__right-section"> <a href = "">Link 1</a> <a href = "">Link 2</a> <a href = "">Link 3</a> </div> </div> <div class = "mdl-mega-footer__middle-section"> <div class = "mdl-mega-footer__drop-down-section"> <h1 class = "mdl-mega-footer__heading">Heading </h1> <ul class = "mdl-mega-footer__link-list"> <li><a href = "">Link A</a></li> <li><a href = "">Link B</a></li> </ul> </div> <div class = "mdl-mega-footer__drop-down-section"> <h1 class = "mdl-mega-footer__heading">Heading </h1> <ul class = "mdl-mega-footer__link-list"> <li><a href = "">Link C</a></li> <li><a href = "">Link D</a></li> </ul> </div> </div> <div class = "mdl-mega-footer__bottom-section"> <div class = "mdl-logo"> Bottom Section </div> <ul class = "mdl-mega-footer__link-list"> <li><a href = "">Link A</a></li> <li><a href = "">Link B</a></li> </ul> </div> </footer> </main> </div> </body> </html>
结果
验证结果。
小型页脚
以下示例将帮助您理解如何使用mdl-mini-footer类在页脚中布局内容。
本示例中将使用以下 MDL 类。
**mdl-layout** - 将 div 标识为 MDL 组件。
**mdl-js-layout** - 向外层 div 添加基本的 MDL 行为。
**mdl-layout--fixed-header** - 使页眉始终可见,即使在小屏幕上也是如此。
mdl-layout__header-row − 将容器标识为 MDL 头部行。
**mdl-layout-title** - 标识布局标题文本。
**mdl-layout__content** - 将 div 标识为 MDL 布局内容。
mdl-mini-footer − 将容器标识为 MDL 小型页脚组件。
mdl-mini-footer__left-section − 将容器标识为左侧部分。
mdl-logo - 将容器标识为样式化的部分标题。
mdl-mini-footer__link-list − 将无序列表标识为内联(水平)列表。
mdl-mini-footer__right-section − 将容器标识为右侧部分。
mdl_minifooter.htm
<html> <head> <link rel = "stylesheet" href = "https://storage.googleapis.com/code.getmdl.io/1.0.6/material.indigo-pink.min.css"> <script src = "https://storage.googleapis.com/code.getmdl.io/1.0.6/material.min.js"> </script> <link rel = "stylesheet" href = "https://fonts.googleapis.com/icon?family=Material+Icons"> </head> <body> <div class = "mdl-layout mdl-js-layout mdl-layout--fixed-header"> <header class = "mdl-layout__header"> <div class = "mdl-layout__header-row"> <span class = "mdl-layout-title">Material Design Tabs</span> </div> </header> <main class = "mdl-layout__content"> <footer class = "mdl-mini-footer"> <div class = "mdl-mini-footer__left-section"> <div class = "mdl-logo"> Copyright Information </div> <ul class = "mdl-mini-footer__link-list"> <li><a href = "#">Help</a></li> <li><a href = "#">Privacy and Terms</a></li> <li><a href = "#">User Agreement</a></li> </ul> </div> <div class = "mdl-mini-footer__right-section"> <button class = "mdl-mini-footer__social-btn">1</button> <button class = "mdl-mini-footer__social-btn">2</button> <button class = "mdl-mini-footer__social-btn">3</button> </div> </footer> </main> </div> </body> </html>
结果
验证结果。
Material Design Lite - 徽章
MDL 徽章组件是一个屏幕上的通知,可以是数字或图标。它通常用于强调项目数量。
MDL 提供一系列 CSS 类,可将各种预定义的视觉和行为增强应用于徽章。下表列出了可用的类及其效果。
序号 | 类名及描述 |
---|---|
1 | mdl-badge 将元素标识为 MDL 徽章组件。span 或链接元素必需。 |
2 | mdl-badge--no-background 为徽章应用开环效果,可选。 |
3 | mdl-badge--overlap 使徽章与它的容器重叠,可选。 |
4 | data-badge="value" 为用作属性的徽章分配字符串值;span 或链接上必需。 |
示例
以下示例将帮助您理解如何使用mdl-badge类向 span 和链接元素添加通知。
本示例中将使用以下 MDL 类。
mdl-badge − 将元素标识为 MDL 徽章组件。
data-badge − 为徽章分配字符串值。可以使用 HTML 符号为其分配图标。
mdl_badges.htm
<html> <head> <script src = "https://storage.googleapis.com/code.getmdl.io/1.0.6/material.min.js"> </script> <link rel = "stylesheet" href = "https://storage.googleapis.com/code.getmdl.io/1.0.6/material.indigo-pink.min.css"> <link rel = "stylesheet" href = "https://fonts.googleapis.com/icon?family=Material+Icons"> <style> body { padding: 20px; background: #fafafa; position: relative; } </style> </head> <body> <span class = "material-icons mdl-badge" data-badge = "1">account_box</span> <span class = "material-icons mdl-badge" data-badge = "★">account_box</span> <span class = "mdl-badge" data-badge = "4">Unread Messages</span> <span class = "mdl-badge" data-badge = "⚑">Rating</span> <a href = "#" class = "mdl-badge" data-badge = "5">Inbox</a> </body> </html>
结果
验证结果。
Material Design Lite - 按钮
MDL 提供一系列 CSS 类,可将各种预定义的视觉和行为增强应用于按钮。下表列出了可用的类及其效果。
序号 | 类名及描述 |
---|---|
1 | mdl-button 将按钮设置为 MDL 组件,必需。 |
2 | mdl-js-button 为按钮添加基本的 MDL 行为,必需。 |
3 | (无) 为按钮设置平面显示效果,默认值。 |
4 | mdl-button--raised 设置凸起显示效果;这与 fab、mini-fab 和 icon 互斥。 |
5 | mdl-button--fab 设置 fab(圆形)显示效果;这与 raised、mini-fab 和 icon 互斥。 |
6 | mdl-button--mini-fab 设置 mini-fab(小型 fab 圆形)显示效果;这与 raised、fab 和 icon 互斥。 |
7 | mdl-button--icon 设置图标(小的纯圆形)显示效果;这与 raised、fab 和 mini-fab 互斥。 |
8 | mdl-button--colored 设置彩色显示效果,颜色在 material.min.css 中定义。 |
9 | mdl-button--primary 设置主色调显示效果,颜色在 material.min.css 中定义。 |
10 | mdl-button--accent 设置强调色显示效果,颜色在 material.min.css 中定义。 |
11 | mdl-js-ripple-effect 设置点击水波纹效果,可以与任何其他类一起使用。 |
示例
下面的例子将帮助你理解如何使用mdl-button类来显示不同类型的按钮。
mdl_buttons.htm
<html> <head> <script src = "https://storage.googleapis.com/code.getmdl.io/1.0.6/material.min.js"> </script> <link rel = "stylesheet" href = "https://storage.googleapis.com/code.getmdl.io/1.0.6/material.indigo-pink.min.css"> <link rel = "stylesheet" href = "https://fonts.googleapis.com/icon?family=Material+Icons"> </head> <body> <table border = "0"> <tbody> <tr> <td><button class = "mdl-button mdl-js-button mdl-button--fab mdl-button--colored"> <i class = "material-icons">add</i></button></td> <td><button class = "mdl-button mdl-js-button mdl-button--fab mdl-js-ripple-effect mdl-button--colored"> <i class = "material-icons">add</i></button></td> <td> </td> </tr> <tr> <td>Colored fab (circular) display effect</td> <td>Colored fab (circular) with ripple display effect</td> <td> </td> </tr> <tr> <td><button class = "mdl-button mdl-js-button mdl-button--fab"> <i class = "material-icons">add</i></button></td> <td><button class = "mdl-button mdl-js-button mdl-button--fab mdl-js-ripple-effect"> <i class = "material-icons">add</i></button></td> <td><button class = "mdl-button mdl-js-button mdl-button--fab" disabled> <i class = "material-icons">add</i></button></td> </tr> <tr> <td>Plain fab (circular) display effect</td> <td>Plain fab (circular) with ripple display effect</td> <td>Plain fab (circular) and disabled</td> </tr> <tr> <td><button class = "mdl-button mdl-js-button mdl-button--raised"> <i class = "material-icons">add</i></button></td> <td><button class = "mdl-button mdl-js-button mdl-button--raised mdl-js-ripple-effect"> <i class = "material-icons">add</i></button></td> <td><button class = "mdl-button mdl-js-button mdl-button--raised" disabled> <i class = "material-icons">add</i></button></td> </tr> <tr> <td>Raised button</td> <td>Raised button with ripple display effect</td> <td>Raised button and disabled</td> </tr> <tr> <td><button class = "mdl-button mdl-js-button mdl-button--raised mdl-button--colored"> <i class = "material-icons">add</i></button></td> <td><button class = "mdl-button mdl-js-button mdl-button--raised mdl-button--accent"> <i class = "material-icons">add</i></button></td> <td><button class = "mdl-button mdl-js-button mdl-button--raised mdl-js-ripple-effect mdl-button--accent"> <i class = "material-icons">add</i></button></td> </tr> <tr> <td>Colored Raised button</td> <td>Accent-colored Raised button</td> <td>Accent-colored raised button with ripple effect</td> </tr> <tr> <td><button class = "mdl-button mdl-js-button"> <i class = "material-icons">add</i></button></td> <td><button class = "mdl-button mdl-js-button mdl-js-ripple-effect"> <i class = "material-icons">add</i></button></td> <td><button class = "mdl-button mdl-js-button" disabled> <i class = "material-icons">add</i></button></td> </tr> <tr> <td>Flat button</td> <td>Flat button with ripple effect</td> <td>Disabled flat button</td> </tr> <tr> <td><button class = "mdl-button mdl-js-button mdl-button--primary"> <i class = "material-icons">add</i></button></td> <td><button class = "mdl-button mdl-js-button mdl-button--accent"> <i class = "material-icons">add</i></button></td> <td> </td> </tr> <tr> <td>Primary Flat button</td> <td>Accent-colored Flat button</td> <td> </td> </tr> <tr> <td><button class = "mdl-button mdl-js-button mdl-button--icon"> <i class = "material-icons">add</i></button></td> <td><button class = "mdl-button mdl-js-button mdl-button--icon mdl-button--colored"> <i class = "material-icons">add</i></button></td> <td> </td> </tr> <tr> <td>Icon button</td> <td>Colored Icon button</td> <td> </td> </tr> <tr> <td><button class = "mdl-button mdl-js-button mdl-button--fab mdl-button--mini-fab"> <i class = "material-icons">add</i></button></td> <td><button class = "mdl-button mdl-js-button mdl-button--fab mdl-button--mini-fab mdl-button--colored"> <i class = "material-icons">add</i></button></td> <td> </td> </tr> <tr> <td>Mini Colored fab (circular) display effect</td> <td>Mini Colored fab (circular) with ripple display effect</td> <td> </td> </tr> </tbody> </table> </body> </html>
结果
验证结果。
Material Design Lite - 卡片
MDL 提供一系列 CSS 类,用于应用各种预定义的视觉和行为增强功能,并显示不同类型的卡片。下表列出了可用的类及其效果。
序号 | 类名及描述 |
---|---|
1 | mdl-card 将 div 元素标识为 MDL 卡片容器,“外层” div 必须使用此类。 |
2 | mdl-card--border 为应用它的卡片部分添加边框,用于“内层”div。 |
3 | mdl-shadow--2dp 到 mdl-shadow--16dp 为卡片设置可变的阴影深度 (2, 3, 4, 6, 8 或 16),可选,用于“外层”div;如果省略,则不显示阴影。 |
4 | mdl-card__title 将 div 标识为卡片标题容器,“内层”标题 div 必须使用此类。 |
5 | mdl-card__title-text 为卡片标题设置合适的文本特性,标题 div 内的标题标签 (H1 - H6) 必须使用此类。 |
6 | mdl-card__subtitle-text 为卡片副标题设置文本特性,可选。它应该是标题元素的子元素。 |
7 | mdl-card__media 将 div 标识为卡片媒体容器,“内层”媒体 div 必须使用此类。 |
8 | mdl-card__supporting-text 将 div 标识为卡片正文文本容器,并为正文文本分配合适的文本特性,“内层”正文文本 div 必须使用此类;文本直接放在 div 内,无需中间容器。 |
9 | mdl-card__actions 将 div 标识为卡片操作容器,并为操作文本分配合适的文本特性,“内层”操作 div 必须使用此类;内容直接放在 div 内,无需中间容器。 |
示例
下面的例子将帮助你理解如何使用 mdl-tooltip 类来显示不同类型的工具提示。
mdl_cards.htm
<html> <head> <script src = "https://storage.googleapis.com/code.getmdl.io/1.0.6/material.min.js"> </script> <link rel = "stylesheet" href = "https://storage.googleapis.com/code.getmdl.io/1.0.6/material.indigo-pink.min.css"> <link rel = "stylesheet" href = "https://fonts.googleapis.com/icon?family = Material+Icons"> <style> .wide-card.mdl-card { width: 512px; } .square-card.mdl-card { width: 256px; height: 256px; } .image-card.mdl-card { width: 256px; height: 256px; background: url('html5-mini-logo.jpg') center / cover; } .image-card-image__filename { color: #000; font-size: 14px; font-weight: bold; } .event-card.mdl-card { width: 256px; height: 256px; background: #3E4EB8; } .event-card.mdl-card__title { color: #fff; height: 176px; } .event-card > .mdl-card__actions { border-color: rgba(255, 255, 255, 0.2); display: flex; box-sizing:border-box; align-items: center; color: #fff; } </style> </head> <body> <table> <tr><td>Wide Card with Share Button</td><td>Square Card</td></tr> <tr> <td> <div class = "wide-card mdl-card mdl-shadow--2dp"> <div class = "mdl-card__title"> <h2 class = "mdl-card__title-text">H5</h2> </div> <div class = "mdl-card__supporting-text"> HTML5 is the next major revision of the HTML standard superseding HTML 4.01, XHTML 1.0, and XHTML 1.1. HTML5 is a standard for structuring and presenting content on the World Wide Web. </div> <div class = "mdl-card__actions mdl-card--border"> <a class = "mdl-button mdl-button--colored mdl-js-button mdl-js-ripple-effect"> Learn HTML5</a> </div> <div class = "mdl-card__menu"> <button class = "mdl-button mdl-button--icon mdl-js-button mdl-js-ripple-effect"> <i class = "material-icons">share</i></button> </div> </div> </td> <td> <div class = "square-card mdl-card mdl-shadow--2dp"> <div class = "mdl-card__title"> <h2 class = "mdl-card__title-text">H5</h2> </div> <div class = "mdl-card__supporting-text"> HTML5 is the next major revision of the HTML standard superseding HTML 4.01, XHTML 1.0, and XHTML 1.1. HTML5 is a standard for structuring and presenting content on the World Wide Web. </div> <div class = "mdl-card__actions mdl-card--border"> <a class = "mdl-button mdl-button--colored mdl-js-button mdl-js-ripple-effect"> Learn HTML5</a> </div> <div class = "mdl-card__menu"> <button class = "mdl-button mdl-button--icon mdl-js-button mdl-js-ripple-effect"> <i class = "material-icons">share</i></button> </div> </div> </td> </tr> <tr><td>Image Card</td><td>Event Card</td></tr> <tr> <td> <div class = "image-card mdl-card mdl-shadow--2dp"> <div class = "mdl-card__title mdl-card--expand"></div> <div class = "mdl-card__actions"> <span class = "image-card-image__filename">html5-logo.jpg</span> </div> </div> </td> <td> <div class = "event-card mdl-card mdl-shadow--2dp"> <div class = "mdl-card__title mdl-card--expand"> <h4>HTML 5 Webinar:<br/>June 14, 2016<br/>7 - 11 pm IST</h4> </div> <div class = "mdl-card__actions mdl-card--border"> <a class = "mdl-button mdl-button--colored mdl-js-button mdl-js-ripple-effect"> Add to Calendar</a> <div class = "mdl-layout-spacer"></div> <i class = "material-icons">event</i> </div> </div> </td> </tr> </table> </body> </html>
结果
验证结果。
Material Design Lite - 进度条
MDL 提供一系列 CSS 类,用于应用各种预定义的视觉和行为增强功能,并显示不同类型的进度条。下表列出了可用的类及其效果。
序号 | 类名及描述 |
---|---|
1 | mdl-js-progress 为进度指示器设置基本的 MDL 行为,这是必需的类。 |
2 | mdl-progress__indeterminate 为进度指示器设置动画,这是一个可选类。 |
示例
下面的例子将帮助你理解如何使用mdl-js-progress类来显示不同类型的进度条。
mdl_progressbars.htm
<html> <head> <script src = "https://storage.googleapis.com/code.getmdl.io/1.0.6/material.min.js"> </script> <link rel = "stylesheet" href = "https://storage.googleapis.com/code.getmdl.io/1.0.6/material.indigo-pink.min.css"> <link rel = "stylesheet" href = "https://fonts.googleapis.com/icon?family=Material+Icons"> </head> <body> <h4>Default Progress bar</h4> <div id = "progressbar1" class = "mdl-progress mdl-js-progress"></div> <h4>Indeterminate Progress bar</h4> <div id = "progressbar2" class = "mdl-progress mdl-js-progress mdl-progress__indeterminate"></div> <h4>Buffering Progress bar</h4> <div id = "progressbar3" class = "mdl-progress mdl-js-progress"></div> <script language = "javascript"> document.querySelector('#progressbar1').addEventListener('mdl-componentupgraded', function() { this.MaterialProgress.setProgress(44); }); document.querySelector('#progressbar3').addEventListener('mdl-componentupgraded', function() { this.MaterialProgress.setProgress(33); this.MaterialProgress.setBuffer(87); }); </script> </body> </html>
结果
验证结果。
Material Design Lite - 加载动画
MDL 提供一系列 CSS 类,用于应用各种预定义的视觉和行为增强功能,并显示不同类型的加载动画。下表列出了可用的类及其效果。
序号 | 类名及描述 |
---|---|
1 | mdl-spinner 将容器标识为 MDL 加载动画组件,这是必需的类。 |
2 | mdl-js-spinner 为加载动画设置基本的 MDL 行为,这是必需的类。 |
3 | is-active 显示并动画加载动画,可选。 |
4 | mdl-spinner--single-color 使用单一颜色而不是更改颜色,可选。 |
示例
下面的例子将帮助你理解如何使用mdl-spinner类以及不同类型的加载动画。
mdl_spinners.htm
<html> <head> <script src = "https://storage.googleapis.com/code.getmdl.io/1.0.6/material.min.js"> </script> <link rel = "stylesheet" href = "https://storage.googleapis.com/code.getmdl.io/1.0.6/material.indigo-pink.min.css"> <link rel = "stylesheet" href = "https://fonts.googleapis.com/icon?family=Material+Icons"> </head> <body> <h4>Default Spinner</h4> <div class = "mdl-spinner mdl-js-spinner is-active"></div> <h4>Single Color Spinner</h4> <div class = "mdl-spinner mdl-spinner--single-color mdl-js-spinner is-active"></div> </body> </html>
结果
验证结果。
Material Design Lite - 菜单
MDL 提供一系列 CSS 类,用于应用各种预定义的视觉和行为增强功能,并显示不同类型的菜单。下表列出了可用的类及其效果。
序号 | 类名及描述 |
---|---|
1 | mdl-button 将按钮标识为 MDL 组件,按钮元素必须使用此类。 |
2 | mdl-js-button 为按钮设置基本的 MDL 行为,按钮元素必须使用此类。 |
3 | mdl-button--icon 为按钮设置图标,按钮元素必须使用此类。 |
4 | material-icons 将 span 标识为材质图标,内联元素必须使用此类。 |
5 | mdl-menu 将无序列表容器标识为 MDL 组件,ul 元素必须使用此类。 |
6 | mdl-js-menu 为菜单设置基本的 MDL 行为,ul 元素必须使用此类。 |
7 | mdl-menu__item 将按钮标识为 MDL 菜单选项并设置基本的 MDL 行为,列表项元素必须使用此类。 |
8 | mdl-js-ripple-effect 为选项链接设置点击水波纹效果,可选;无序列表元素必须使用此类。 |
9 | mdl-menu--top-left 将菜单位置设置为按钮上方,将菜单的左边缘与按钮对齐,可选;无序列表元素必须使用此类。 |
10 | (无) 默认情况下,菜单位于按钮下方,与按钮的左边缘对齐。 |
11 | mdl-menu--top-right 菜单位于按钮上方,与按钮的右边缘对齐,可选,用于无序列表元素。 |
12 | mdl-menu--bottom-right 菜单位于按钮下方,与按钮的右边缘对齐,可选,用于无序列表元素。 |
示例
下面的例子将帮助你理解如何使用mdl-spinner类来显示不同类型的加载动画。
mdl_menu.htm
<html> <head> <script src = "https://storage.googleapis.com/code.getmdl.io/1.0.6/material.min.js"> </script> <link rel = "stylesheet" href = "https://storage.googleapis.com/code.getmdl.io/1.0.6/material.indigo-pink.min.css"> <link rel = "stylesheet" href = "https://fonts.googleapis.com/icon?family=Material+Icons"> <style> .container { position: relative; width: 200px; } .background { background: white; height: 148px; width: 100%; } .bar { box-sizing: border-box; background: #BBBBBB; color: white; width: 100%; height: 64px; padding: 16px; } .wrapper { box-sizing: border-box; position: absolute; right: 16px; } </style> </head> <body> <table> <tr><td>Lower Left Menu</td><td>Lower Right Menu</td><td>Top Left Menu</td> <td>Top Right Menu</td></tr> <tr> <td> <div class = "container mdl-shadow--2dp"> <div class = "bar"> <button id = "demo_menu-lower-left" class = "mdl-button mdl-js-button mdl-button--icon" data-upgraded = ",MaterialButton"> <i class = "material-icons">more_vert</i> </button> <ul class = "mdl-menu mdl-menu--bottom-left mdl-js-menu mdl-js-ripple-effect" for = "demo_menu-lower-left"> <li class = "mdl-menu__item">Item #1</li> <li class = "mdl-menu__item">Item #2</li> <li disabled class = "mdl-menu__item">Disabled Item</li> </ul> </div> <div class = "background"></div> </div> </td> <td> <div class = "container mdl-shadow--2dp"> <div class = "bar"> <div class = "wrapper"> <button id = "demo_menu-lower-right" class = "mdl-button mdl-js-button mdl-button--icon" data-upgraded = ",MaterialButton"> <i class = "material-icons">more_vert</i> </button> <ul class = "mdl-menu mdl-menu--bottom-right mdl-js-menu mdl-js-ripple-effect" for = "demo_menu-lower-right"> <li class = "mdl-menu__item">Item #1</li> <li class = "mdl-menu__item">Item #2</li> <li disabled class = "mdl-menu__item">Disabled Item</li> </ul> </div> </div> <div class = "background"></div> </div> </td> <td> <div class = "container mdl-shadow--2dp"> <div class = "background"></div> <div class = "bar"> <button id = "demo_menu-top-left" class = "mdl-button mdl-js-button mdl-button--icon" data-upgraded = ",MaterialButton"> <i class = "material-icons">more_vert</i> </button> <ul class = "mdl-menu mdl-menu--top-left mdl-js-menu mdl-js-ripple-effect" for = "demo_menu-top-left"> <li class = "mdl-menu__item">Item #1</li> <li class = "mdl-menu__item">Item #2</li> <li disabled class = "mdl-menu__item">Disabled Item</li> </ul> </div> </div> </td> <td> <div class = "container mdl-shadow--2dp"> <div class = "background"></div> <div class = "bar"> <div class = "wrapper"> <button id = "demo_menu-top-right" class = "mdl-button mdl-js-button mdl-button--icon" data-upgraded = ",MaterialButton"> <i class = "material-icons">more_vert</i> </button> <ul class = "mdl-menu mdl-menu--top-right mdl-js-menu mdl-js-ripple-effect" for = "demo_menu-top-right"> <li class = "mdl-menu__item">Item #1</li> <li class = "mdl-menu__item">Item #2</li> <li disabled class = "mdl-menu__item">Disabled Item</li> </ul> </div> </div> </div> </td> </tr> </table> </body> </html>
结果
验证结果。
Material Design Lite - 滑块
MDL 提供一系列 CSS 类,用于应用各种预定义的视觉和行为增强功能,并显示不同类型的菜单。下表列出了可用的类及其效果。
序号 | 类名及描述 |
---|---|
1 | mdl-slider 将输入元素标识为 MDL 组件,这是必需的。 |
2 | mdl-js-slider 为输入元素设置基本的 MDL 行为,这是必需的。 |
示例
下面的例子将帮助你理解如何使用 mdl-slider 类来显示不同类型的滑块。
mdl_sliders.htm
<html> <head> <script src = "https://storage.googleapis.com/code.getmdl.io/1.0.6/material.min.js"> </script> <link rel = "stylesheet" href = "https://storage.googleapis.com/code.getmdl.io/1.0.6/material.indigo-pink.min.css"> <link rel = "stylesheet" href = "https://fonts.googleapis.com/icon?family=Material+Icons"> <script langauage = "javascript"> function showMessage(value) { document.getElementById("message").innerHTML = value; } </script> </head> <body> <table> <tr><td>Default Slider</td><td>Slider with initial value</td> <td>Disabled Slider</td></tr> <tr><td><input id = "slider1" class = "mdl-slider mdl-js-slider" type = "range" min = "0" max = "100" value = "0" tabindex = "0" oninput = "showMessage(this.value)" onchange = "showMessage(this.value)"></td> <td><input id = "slider2" class = "mdl-slider mdl-js-slider" type = "range" min = "0" max = "100" value = "25" tabindex = "0" oninput = "showMessage(this.value)" onchange = "showMessage(this.value)"></td> <td><input id = "slider3" class = "mdl-slider mdl-js-slider" type = "range" min = "0" max = "100" value = "25" tabindex = "0" step = "2" disabled oninput = "showMessage(this.value)" onchange = "showMessage(this.value)"></td> </tr> </table> Value: <div id = "message" >25</div> </body> </html>
结果
验证结果。
Material Design Lite - 复选框
MDL 提供一系列 CSS 类,用于应用各种预定义的视觉和行为增强功能,并显示不同类型的复选框。下表列出了可用的类及其效果。
序号 | 类名及描述 |
---|---|
1 | mdl-checkbox 将标签标识为 MDL 组件,标签元素必须使用此类。 |
2 | mdl-js-checkbox 为标签设置基本的 MDL 行为,标签元素必须使用此类。 |
3 | mdl-checkbox__input 为复选框设置基本的 MDL 行为,输入元素 (复选框) 必须使用此类。 |
4 | mdl-checkbox__label 为标题设置基本的 MDL 行为,span 元素 (标题) 必须使用此类。 |
5 | mdl-js-ripple-effect 设置点击水波纹效果,可选;用于标签元素,而不是输入元素 (复选框)。 |
示例
下面的例子将帮助你理解如何使用 mdl-slider 类来显示不同类型的复选框。
mdl_checkboxes.htm
<html> <head> <script src = "https://storage.googleapis.com/code.getmdl.io/1.0.6/material.min.js"> </script> <link rel = "stylesheet" href = "https://storage.googleapis.com/code.getmdl.io/1.0.6/material.indigo-pink.min.css"> <link rel = "stylesheet" href = "https://fonts.googleapis.com/icon?family=Material+Icons"> <script langauage = "javascript"> function showMessage(value) { document.getElementById("message").innerHTML = value; } </script> </head> <body> <table> <tr><td>Default CheckBox</td><td>CheckBox with Ripple Effect</td> <td>Disabled CheckBox</td></tr> <tr> <td> <label class = "mdl-checkbox mdl-js-checkbox" for = "checkbox1"> <input type = "checkbox" id = "checkbox1" class = "mdl-checkbox__input" checked> <span class = "mdl-checkbox__label">Married</span> </label> </td> <td> <label class = "mdl-checkbox mdl-js-checkbox mdl-js-ripple-effect" for = "checkbox2"> <input type = "checkbox" id = "checkbox2" class = "mdl-checkbox__input"> <span class = "mdl-checkbox__label">Single</span> </label> </td> <td> <label class = "mdl-checkbox mdl-js-checkbox" for = "checkbox3"> <input type = "checkbox" id = "checkbox3" class = "mdl-checkbox__input" disabled> <span class = "mdl-checkbox__label">Don't know (Disabled)</span> </label> </td> </tr> </table> </body> </html>
结果
验证结果。
Material Design Lite - 单选按钮
MDL 提供一系列 CSS 类,用于应用各种预定义的视觉和行为增强功能,并显示不同类型的单选按钮。下表列出了可用的类及其效果。
序号 | 类名及描述 |
---|---|
1 | mdl-radio 将标签标识为 MDL 组件,标签元素必须使用此类。 |
2 | mdl-js-radio 为标签设置基本的 MDL 行为,标签元素必须使用此类。 |
3 | mdl-radio__button 为单选按钮设置基本的 MDL 行为,输入元素 (单选按钮) 必须使用此类。 |
4 | mdl-radio__label 为标题设置基本的 MDL 行为,span 元素 (标题) 必须使用此类。 |
5 | mdl-js-ripple-effect 设置点击水波纹效果,可选;用于标签元素,而不是输入元素 (单选按钮)。 |
示例
下面的例子将帮助你理解如何使用 mdl-slider 类来显示不同类型的单选按钮。
mdl_radio.htm
<html> <head> <script src = "https://storage.googleapis.com/code.getmdl.io/1.0.6/material.min.js"> </script> <link rel = "stylesheet" href = "https://storage.googleapis.com/code.getmdl.io/1.0.6/material.indigo-pink.min.css"> <link rel = "stylesheet" href = "https://fonts.googleapis.com/icon?family=Material+Icons"> <script langauage = "javascript"> function showMessage(value) { document.getElementById("message").innerHTML = value; } </script> </head> <body> <table> <tr><td>Default Radio Button</td><td>Radio Button with Ripple Effect</td> <td>Disabled Radio Button</td></tr> <tr> <td> <label class = "mdl-radio mdl-js-radio" for = "option1"> <input type = "radio" id = "option1" name = "gender" class = "mdl-radio__button" checked> <span class = "mdl-radio__label">Male</span> </label> </td> <td> <label class = "mdl-radio mdl-js-radio mdl-js-ripple-effect" for = "option2"> <input type = "radio" id = "option2" name = "gender" class = "mdl-radio__button" > <span class = "mdl-radio__label">Female</span> </label> </td> <td> <label class = "mdl-radio mdl-js-radio" for = "option3"> <input type = "radio" id = "option3" name = "gender" class = "mdl-radio__button" disabled> <span class = "mdl-radio__label">Don't know (Disabled)</span> </label> </td> </tr> </table> </body> </html>
结果
验证结果。
Material Design Lite - 图标
MDL 提供一系列 CSS 类,用于应用各种预定义的视觉和行为增强功能,并将不同类型的复选框显示为图标。下表列出了可用的类及其效果。
序号 | 类名及描述 |
---|---|
1 | mdl-icon-toggle 将标签标识为 MDL 组件,标签元素必须使用此类。 |
2 | mdl-js-icon-toggle 为标签设置基本的 MDL 行为,标签元素必须使用此类。 |
3 | mdl-icon-toggle__input 为图标切换设置基本的 MDL 行为,输入元素 (图标切换) 必须使用此类。 |
4 | mdl-icon-toggle__label 为标题设置基本的 MDL 行为,i 元素 (图标) 必须使用此类。 |
5 | mdl-js-ripple-effect 设置点击水波纹效果,可选;用于标签元素,而不是输入元素 (图标切换)。 |
示例
下面的例子展示了如何使用mdl-icon-toggle类将不同类型的复选框显示为图标。
mdl_icons.htm
<html> <head> <script src = "https://storage.googleapis.com/code.getmdl.io/1.0.6/material.min.js"> </script> <link rel = "stylesheet" href = "https://storage.googleapis.com/code.getmdl.io/1.0.6/material.indigo-pink.min.css"> <link rel = "stylesheet" href = "https://fonts.googleapis.com/icon?family=Material+Icons"> </head> <body> <table> <tr><td>On Icon</td><td>Off Icon</td> <td>Disabled Icon</td></tr> <tr> <td> <label class = "mdl-icon-toggle mdl-js-icon-toggle mdl-js-ripple-effect" for = "icon-toggle-1"> <input type = "checkbox" id = "icon-toggle-1" class = "mdl-icon-toggle__input" checked> <i class = "mdl-icon-toggle__label material-icons">format_bold</i> </label> </td> <td> <label class = "mdl-icon-toggle mdl-js-icon-toggle mdl-js-ripple-effect" for = "icon-toggle-2"> <input type = "checkbox" id = "icon-toggle-2" class = "mdl-icon-toggle__input"> <i class = "mdl-icon-toggle__label material-icons">format_italic</i> </label> </td> <td> <label class = "mdl-icon-toggle mdl-js-icon-toggle mdl-js-ripple-effect" for = "icon-toggle-2"> <input type = "checkbox" id = "icon-toggle-2" class = "mdl-icon-toggle__input" disabled> <i class = "mdl-icon-toggle__label material-icons">format_underline</i> </label> </td> </tr> </table> </body> </html>
结果
验证结果。
Material Design Lite - 开关
MDL 提供一系列 CSS 类,用于应用各种预定义的视觉和行为增强功能,并将不同类型的复选框显示为开关。下表列出了可用的类及其效果。
序号 | 类名及描述 |
---|---|
1 | mdl-switch 将标签标识为 MDL 组件,标签元素必须使用此类。 |
2 | mdl-js-switch 为标签设置基本的 MDL 行为,标签元素必须使用此类。 |
3 | mdl-switch__input 为开关设置基本的 MDL 行为,输入元素 (开关) 必须使用此类。 |
4 | mdl-switch__label 为标题设置基本的 MDL 行为,输入元素 (标题) 必须使用此类。 |
5 | mdl-js-ripple-effect 设置点击水波纹效果,可选;用于标签元素,而不是输入元素 (开关)。 |
示例
下面的例子将帮助你理解如何使用 mdl-switch 类以及将不同类型的复选框显示为开关。
mdl_switches.htm
<html> <head> <script src = "https://storage.googleapis.com/code.getmdl.io/1.0.6/material.min.js"> </script> <link rel = "stylesheet" href = "https://storage.googleapis.com/code.getmdl.io/1.0.6/material.indigo-pink.min.css"> <link rel = "stylesheet" href = "https://fonts.googleapis.com/icon?family=Material+Icons"> </head> <body> <table> <tr><td>On Switch</td><td>Off Switch</td> <td>Disabled Switch</td></tr> <tr> <td> <label class = "mdl-switch mdl-js-switch mdl-js-ripple-effect" for = "switch-1"> <input type = "checkbox" id = "switch-1" class = "mdl-switch__input" checked> </label> </td> <td> <label class = "mdl-switch mdl-js-switch mdl-js-ripple-effect" for = "switch-2"> <input type = "checkbox" id = "switch-2" class = "mdl-switch__input"> </label> </td> <td> <label class = "mdl-switch mdl-js-switch mdl-js-ripple-effect" for = "switch-2"> <input type = "checkbox" id = "switch-2" class = "mdl-switch__input" disabled> </label> </td> </tr> </table> </body> </html>
结果
验证结果。
Material Design Lite - 数据表格
MDL 提供一系列 CSS 类,用于应用各种预定义的视觉和行为增强功能,并将表格显示为数据表格。下表列出了可用的类及其效果。
序号 | 类名及描述 |
---|---|
1 | mdl-data-table 将表格标识为 MDL 组件,表格元素必须使用此类。 |
2 | mdl-js-data-table 为表格设置基本的 MDL 行为,表格元素必须使用此类。 |
3 | mdl-data-table--selectable 设置全部/单个可选行为 (复选框),可选;用于表格元素。 |
4 | mdl-data-table__cell--non-numeric 为数据单元格设置文本格式,可选;用于表格标题和表格数据单元格。 |
5 | (无) 默认情况下,为标题或数据单元格设置数字格式。 |
示例
下面的例子将帮助你理解如何使用mdl-data-table类来显示数据表格。
mdl_data_tables.htm
<html> <head> <script src = "https://storage.googleapis.com/code.getmdl.io/1.0.6/material.min.js"> </script> <link rel = "stylesheet" href = "https://storage.googleapis.com/code.getmdl.io/1.0.6/material.indigo-pink.min.css"> <link rel = "stylesheet" href = "https://fonts.googleapis.com/icon?family=Material+Icons"> </head> <body> <table class = "mdl-data-table mdl-js-data-table mdl-data-table--selectable mdl-shadow--2dp"> <thead> <tr><th class = "mdl-data-table__cell--non-numeric">Student</th> <th>Class</th><th>Grade</th></tr> </thead> <tbody> <tr><td class = "mdl-data-table__cell--non-numeric">Mahesh Parashar</td> <td>VI</td><td>A</td></tr> <tr><td class = "mdl-data-table__cell--non-numeric">Rahul Sharma</td> <td>VI</td><td>B</td></tr> <tr><td class = "mdl-data-table__cell--non-numeric">Mohan Sood</td> <td>VI</td><td>A</td></tr> </tbody> </table> </body> </html>
结果
验证结果。
Material Design Lite - 文本字段
MDL 提供一系列 CSS 类,用于应用各种预定义的视觉和行为增强功能,并显示不同类型的文本输入。下表列出了可用的类及其效果。
序号 | 类名及描述 |
---|---|
1 | mdl-textfield 将容器标识为 MDL 组件,“外层”div 元素必须使用此类。 |
2 | mdl-js-textfield 为输入设置基本的 MDL 行为,“外层”div 元素必须使用此类。 |
3 | mdl-textfield__input 将元素标识为文本字段输入,输入或文本区域元素必须使用此类。 |
4 | mdl-textfield__label 将元素标识为文本字段标签,输入或文本区域元素的标签元素必须使用此类。 |
5 | mdl-textfield--floating-label 应用浮动标签效果,可选;用于“外层”div 元素。 |
6 | mdl-textfield__error 将 span 标识为 MDL 错误消息,可选;用于具有模式的 MDL 输入元素的 span 元素。 |
7 | mdl-textfield--expandable 将 div 标识为 MDL 可扩展文本字段容器;用于可扩展输入字段, “外层” div 元素必须使用此类。 |
8 | mdl-button 将标签标识为 MDL 图标按钮;用于可扩展输入字段, “外层” div 的标签元素必须使用此类。 |
9 | mdl-js-button 为图标容器设置基本行为;用于可扩展输入字段, “外层” div 的标签元素必须使用此类。 |
10 | mdl-button--icon 将标签标识为 MDL 图标容器;用于可扩展输入字段, “外层” div 的标签元素必须使用此类。 |
11 | mdl-input__expandable-holder 将容器标识为 MDL 组件;用于可扩展输入字段, “内层” div 元素必须使用此类。 |
12 | is-invalid 在初始加载时将文本字段标识为无效,mdl-textfield 元素可选。 |
示例
下面的例子将帮助你理解如何使用 mdl-textfield 类来显示不同类型的文本字段。
mdl_textfields.htm
<html> <head> <script src = "https://storage.googleapis.com/code.getmdl.io/1.0.6/material.min.js"> </script> <link rel = "stylesheet" href = "https://storage.googleapis.com/code.getmdl.io/1.0.6/material.indigo-pink.min.css"> <link rel = "stylesheet" href = "https://fonts.googleapis.com/icon?family=Material+Icons"> <script langauage = "javascript"> function showMessage(value) { document.getElementById("message").innerHTML = value; } </script> </head> <body> <table> <tr><td>Simple Text Field</td><td>Numeric Text Field</td> <td>Disabled Text Field</td></tr> <tr> <td> <form action = "#"> <div class = "mdl-textfield mdl-js-textfield"> <input class = "mdl-textfield__input" type = "text" id = "text1"> <label class = "mdl-textfield__label" for = "text1">Text...</label> </div> </form> </td> <td> <form action = "#"> <div class = "mdl-textfield mdl-js-textfield"> <input class = "mdl-textfield__input" type = "text" pattern = "-?[0-9]*(\.[0-9]+)?" id = "text2"> <label class = "mdl-textfield__label" for = "text2"> Number...</label> <span class = "mdl-textfield__error">Number required!</span> </div> </form> </td> <td> <form action = "#"> <div class = "mdl-textfield mdl-js-textfield"> <input class = "mdl-textfield__input" type = "text" id = "text3" disabled> <label class = "mdl-textfield__label" for = "text3"> Disabled...</label> </div> </form> </td> </tr> <tr><td>Simple Text Field with Floating Label</td> <td>Numeric Text Field with Floating Label</td> <td> </td></tr> <tr> <td> <form action = "#"> <div class = "mdl-textfield mdl-js-textfield mdl-textfield--floating-label"> <input class = "mdl-textfield__input" type = "text" id = "text4"> <label class = "mdl-textfield__label" for = "text4">Text...</label> </div> </form> </td> <td> <form action = "#"> <div class = "mdl-textfield mdl-js-textfield mdl-textfield--floating-label"> <input class = "mdl-textfield__input" type = "text" pattern = "-?[0-9]*(\.[0-9]+)?" id = "text5"> <label class = "mdl-textfield__label" for = "text5"> Number...</label> <span class = "mdl-textfield__error">Number required!</span> </div> </form> </td> <td> </td> </tr> <tr><td>Multiline Text Field</td><td>Expandable Multiline Text Field</td> <td> </td></tr> <tr> <td> <form action = "#"> <div class = "mdl-textfield mdl-js-textfield"> <textarea class = "mdl-textfield__input" type = "text" rows = "3" id = "text7" ></textarea> <label class = "mdl-textfield__label" for = "text7">Lines...</label> </div> </form> </td> <td> <form action = "#"> <div class = "mdl-textfield mdl-js-textfield mdl-textfield--expandable"> <label class = "mdl-button mdl-js-button mdl-button--icon" for = "text8"> <i class = "material-icons">search</i> </label> <div class = "mdl-textfield__expandable-holder"> <input class = "mdl-textfield__input" type = "text" id = "text8"> <label class = "mdl-textfield__label" for = "sample-expandable"> Expandable Input</label> </div> </div> </form> </td> <td> </td> </tr> </table> </body> </html>
结果
验证结果。
Material Design Lite - 工具提示
MDL 提供一系列 CSS 类,用于应用各种预定义的视觉和行为增强功能,并显示不同类型的工具提示。下表列出了可用的类及其效果。
序号 | 类名及描述 |
---|---|
1 | mdl-tooltip 标识容器为 MDL 提示框,是提示框容器元素的必填属性。 |
2 | mdl-tooltip--large 设置大字体效果,可选;位于提示框容器元素上。 |
示例
以下示例将帮助您理解如何使用mdl-tooltip 类来显示不同类型的提示框。
mdl_tooltips.htm
<html> <head> <script src = "https://storage.googleapis.com/code.getmdl.io/1.0.6/material.min.js"> </script> <link rel = "stylesheet" href = "https://storage.googleapis.com/code.getmdl.io/1.0.6/material.indigo-pink.min.css"> <link rel = "stylesheet" href = "https://fonts.googleapis.com/icon?family=Material+Icons"> <script langauage = "javascript"> function showMessage(value) { document.getElementById("message").innerHTML = value; } </script> </head> <body> <table> <tr><td>Simple Tooltip</td><td>Large Tooltip</td></tr> <tr> <td> <div id = "tooltip1" class = "icon material-icons">add</div> <div class = "mdl-tooltip" for = "tooltip1">Follow</div> </td> <td> <div id = "tooltip2" class = "icon material-icons">print</div> <div class = "mdl-tooltip mdl-tooltip--large" for = "tooltip2">Print</div> </td> </tr> <tr> <td>Rich Tooltip</td><td>Multiline Tooltip</td></tr> <tr> <td> <div id = "tooltip3" class = "icon material-icons">cloud_upload </div> <div class = "mdl-tooltip" for = "tooltip3">Upload <i>zip files</i></div> </td> <td> <div id = "tooltip4" class = "icon material-icons">share</div> <div class = "mdl-tooltip" for = "tooltip4"> Share your content<br>using social media</div> </td> </tr> </table> </body> </html>
结果
验证结果。