参考代码
MDL
的布局/Layout组件
用来做为整个页面其余元素的容器,能够自动适应不一样的浏览器、 屏幕尺寸和设备。javascript
布局/Layout组件
须要按特定的HTML
结构进行声明:java
<div class="mdl-layout mdl-js-layout mdl-layout--fixed-header"> <header class="mdl-layout__header"></header> <div class="mdl-layout__drawer"></div> <main class="mdl-layout__content"></main> </div>
须要指出的是,在一个布局声明中,header
等子元素不必定所有使用,好比你能够不要侧栏菜单:git
<div class="mdl-layout mdl-js-layout mdl-layout--fixed-header"> <header class="mdl-layout__header"></header> <main class="mdl-layout__content"></main> </div>
布局组件简化了建立可伸缩页面的过程。确切的说,MDL
能够根据屏幕的尺寸设定样式类的不一样显示效果:github
桌面 - 当屏幕宽度大于840px
时,MDL
按桌面环境应对浏览器
平板 - 当屏幕尺寸大于480px
,但小于840px
时,MDL
按平板环境应对。好比,自动隐藏 header
、drawer
区域等布局
手机 - 当屏幕尺寸小于480px
时,MDL
按手机环境应对spa
布局组件的header
子元素由一系列header-row
组成:3d
在header
子元素内可使用导航/navigation
,导航块由一个导航容器
和若干导航连接
构成:code
<div class="mdl-layout__header-row"> <!--导航容器--> <nav class="mdl-navigation"> <!--导航连接--> <a class="mdl-navigation__link" href="javascript:void (0);">Link</a> <a class="mdl-navigation__link" href="javascript:void (0);">Link</a> <a class="mdl-navigation__link" href="javascript:void (0);">Link</a> </nav> </div>
如上例所示,导航块使用nav元素
创建。在头部的导航块自动按水平排列各连接项
。blog
一个常见的UI模式
是标题居左,导航居右
,以下图所示:
mdl-layout-spacer
能够自动地填充行容器(mdl-layout__header-row
) 的剩余空间(扣除titl
e和navigation
的宽度),所以能够简单地实现为:
<div class="mdl-layout__header-row"> <span class="mdl-layout-title">title</span> <div class="mdl-layout-spacer"></div> <nav class="mdl-navigation">...</nav> </div>
在布局的头部能够嵌入选项栏/tab-bar
,内容区域能够嵌入选项面板/tab-panel
。当用户点击选项栏中的连接/tab*
时,自动显示对应的选项面板:
在布局头部声明选项栏
,须要遵循特定的HTML
结构:
<header class="mdl-layout__header"> <!--声明选项栏--> <div class="mdl-layout__tab-bar"> <!--声明选项,经过href绑定对应的面板,对要激活的选项声明is-active--> <a class="mdl-layout__tab is-active" href="#panel-1">tab-1</a> <a class="mdl-layout__tab" href="#panel-2">tab-2</a> <a class="mdl-layout__tab" href="#panel-3">tab-3</a> </div> </header>
在布局的内容区域声明选项面板
,也依赖于特定的HTML
结构:
<main class="mdl-layout__content"> <!--声明选项面板,使用id属性指定锚点,对要初始显示的面板声明is-active--> <div class="mdl-layout__tab-panel is-active" id="panel-1">...</div> <div class="mdl-layout__tab-panel" id="panel-2">...</div> <div class="mdl-layout__tab-panel" id="panel-3">...</div> </main>
侧拉菜单默认状况下是隐藏的,须要用户点击按钮:
能够设置修饰样式类mdl-layout--fixed-drawer
来强制显示侧拉菜单
(在小尺寸屏幕
下,侧拉菜单老是隐藏的):
<div class="mdl-layout mdl-layout--fixed-drawer"> <div class="mdl-layout__drawer">...</div> </div>
在侧拉菜单中也可使用导航,这时全部的连接自动按垂直方向排列
:
<div class="mdl-layout__drawer"> <span class="mdl-layout-title">Title</span> <div class="mdl-navigation"> <a class="mdl-navigation__link" href="javascript:void(0);">Link 1</a> <a class="mdl-navigation__link" href="javascript:void(0);">Link 2</a> </div> </div>