Container
container类不是网格系统最严格的一部分,但是是内容布局重要的一部分。它可以使你的页面内容居中。 container
类的宽度被设置为窗口的70%左右。它使你的页面内容居中并包含在内。我们用container类来包含我们的body内容。
示例
点击下面的按钮,试试没有container类的效果。
去除 Containers增加一个container只需将你的内容放在带container
类的<div>
标签里面。这是一个例子教你如何使用container。
<body>
<div class="container">
<!-- 页面内容放在这里 -->
</div>
</body>
介绍
这一节将告诉你网格是如何工作的。
12 列
标准的网格有12列。和浏览器尺寸无关, 每一列都有相同的宽度。
感觉一下如何在HTML中使用网格布局,看下面的代码,它的展示的效果就是上面的这个。
<div class="row">
<div class="col s1">1</div>
<div class="col s1">2</div>
<div class="col s1">3</div>
<div class="col s1">4</div>
<div class="col s1">5</div>
<div class="col s1">6</div>
<div class="col s1">7</div>
<div class="col s1">8</div>
<div class="col s1">9</div>
<div class="col s1">10</div>
<div class="col s1">11</div>
<div class="col s1">12</div>
</div>
注意: 现在,我们知道 s1
表示 small-1,他的意思是 "小屏幕中的一列"。
存在行中的列
创建的所有布局的列必须包含在行里面,并且必须在列的div标签里面添加col
类。
<div class="row">
<div class="col s12">12列的宽度的div</div>
<div class="col s6">6列的宽度 (一半)</div>
<div class="col s6">6列的宽度 (一半)</div>
</div>
偏移
对于偏移,简单的增加offset-s2
到类里, s
表示屏幕大小(s = small, m = medium, l = large),数字(列数)决定你想偏移的列数。
<div class="row">
<div class="col s12"><span class="flow-text">12列全屏大小</span></div>
<div class="col s6 offset-s6"><span class="flow-text">6列 (偏移6列)</span></div>
</div>
推和拉
您可以轻松地更改列的顺序伴随推和拉。增加push-s2
或 pull-s2
到类里面 s
表示屏幕大小(s = small, m = medium, l = large),数字(列数)决定你想推或拉的列数。
<div class="row">
<div class="col s7 push-s5"><span class="flow-text">这个div占了7列的宽度,推向到五列的右边。</span></div>
<div class="col s5 pull-s7"><span class="flow-text">占据5列的宽度,拉到了7列的左边。</span></div>
</div>
创建布局
在这里,我们将向您展示如何使用我们的网格系统创建一些常用的布局。希望这些可以使你更轻松的布局。看一下这些简单的示例,这些将不支持响应式。
Section
section类常用于简单的顶部和底部填充。只要增加section
类到包含内容块的div中。
Divider
Divider是一个一像素的分隔线。只需在内容之间增加带divider
类的div。
例子:section and divider
第一部分
集体
第二部分
集体
第三部分
集体
<div class="divider"></div>
<div class="section">
<h5>第一部分</h5>
<p>集体</p>
</div>
<div class="divider"></div>
<div class="section">
<h5>第二部分</h5>
<p>集体</p>
</div>
<div class="divider"></div>
<div class="section">
<h5>第三部分</h5>
<p>集体</p>
</div>
示例:推广表格
如果有三个等宽度的div,我们定义每个div的宽度是4列,4+4+4 = 12,加起来刚好是12。 在这些div里面, 我们可以放入内容。这的例子是我们前端页面的内容。修改后作为例子。
我们做最繁重的工作为你提供一个默认的风格,把我们的自定义组件。此外,我们精致的动画和转换,为开发人员提供一个更流畅的体验。
通过利用元素和素材设计的原则,我们创建一个框架,采用组件和动画,提供更多的方便给用户。此外,一个单一的底层响应系统在所有平台上允许一个更统一的用户体验。
我们已经提供了详细的文档,以及特定的代码示例,以帮助新用户开始使用。我们也总是开放的反馈,并可以回答任何问题,用户可能有关于实现。
<div class="row">
<div class="col s4">
<!-- Promo Content 1 goes here -->
</div>
<div class="col s4">
<!-- Promo Content 2 goes here -->
</div>
<div class="col s4">
<!-- Promo Content 3 goes here -->
</div>
</div>
例子:侧边导航布局
你可以看到如何使用网格系统快速创建布局。只要记住确保每个布局增加到12列。
<!-- Navbar goes here -->
<!-- Page Layout here -->
<div class="row">
<div class="col s3">
<!-- Grey navigation panel -->
</div>
<div class="col s9">
<!-- Teal page content -->
</div>
</div>
创建响应式布局
上面展示的事如何使用网格系统布局。现在,我们将向您展示如何设计你的布局使它适应所有的屏幕尺寸。
屏幕尺寸
手机设备 <= 600px |
平板设备 <= 992px |
桌面设备 > 992px |
|
---|---|---|---|
类前缀 | .s |
.m |
.l |
Container 的宽度 | 85% | 85% | 70% |
列数 | 12 | 12 | 12 |
增加响应式
在之前的例子中,我们只定义了小屏幕大小的类,通过使用"col s12"
。如果我们只是要一个固定的布局这是可以的,因为这个规则是向上兼容的。 这仅仅是s12,现在是"col s12 m12 l12"
总合应用。但通过明确定义的大小,我们可以使我们的网站更敏感。
<div class="row">
<div class="grid-example col s12"><span class="flow-text">我总是占据所有的宽度 (col s12)</span></div>
<div class="grid-example col s12 m6"><span class="flow-text">我占据所有的宽度在手机上 (col s12 m6)</span></div>
</div>
响应式侧边导航布局
在下面的这个例子中,我们使用和上面相同的布局,但是我们使它支持响应式,让它适应所有屏幕尺寸。 尝试改变浏览器宽度大小,看看下面这个布局的变化。
<!-- Navbar goes here -->
<!-- Page Layout here -->
<div class="row">
<div class="col s12 m4 l3"> <!-- Note that "m4 l3" was added -->
<!-- Grey navigation panel
This content will be:
3-columns-wide on large screens,
4-columns-wide on medium screens,
12-columns-wide on small screens -->
</div>
<div class="col s12 m8 l9"> <!-- Note that "m8 l9" was added -->
<!-- Teal page content
This content will be:
9-columns-wide on large screens,
8-columns-wide on medium screens,
12-columns-wide on small screens -->
</div>
</div>
更多响应式网格布局的例子
<div class="row">
<div class="col s12"><p>s12</p></div>
<div class="col s12 m4 l2"><p>s12 m4</p></div>
<div class="col s12 m4 l8"><p>s12 m4</p></div>
<div class="col s12 m4 l2"><p>s12 m4</p></div>
</div>
<div class="row">
<div class="col s12 m6 l3"><p>s12 m6 l3</p></div>
<div class="col s12 m6 l3"><p>s12 m6 l3</p></div>
<div class="col s12 m6 l3"><p>s12 m6 l3</p></div>
<div class="col s12 m6 l3"><p>s12 m6 l3</p></div>
</div>