bootstrap栅格系统

来源:互联网 发布:手机怎么上电脑版淘宝 编辑:程序博客网 时间:2024/05/22 09:03

最近在使用bootstrap,在网上找了点资料,本文引自http://v2.bootcss.com/scaffolding.html

Bootstrap建立在12列栅格系统、布局、组件之上,必须使用HTML5文档类型
Bootstrap使用的某些HTML元素和CSS属性需要文档类型为HTML5 doctype。因此这一文档类型必须出现在项目的每个页面的开始部分。

<!DOCTYPE html><html lang="en">  ...</html>

排版和链接

Bootstrap 为屏幕、排版和链接设置了基本的全局样式。尤其是,我们:

移除了body的 margin设置了 body 的背景颜色 background-color: white;使用 @baseFontFamily、@baseFontSize 和@baseLineHeight 属性作为我们排版的基础通过 @linkColor 设置全局链接颜色,并且,当链接处于 :hover 状态时才会带有下划线

这些样式可以在 scaffolding.less 文件中找到。
用Normalize重置样式

从 Bootstrap 2 开始, 老的重置方式被 Normalize.css 取代, 这是 Nicolas Gallagher 和Jonathan Neal 共同维护的一个项目,这一项目还被 HTML5 Boilerplate 所采用。虽然我们在reset.less 文件中使用了许多Normalize的代码,但是,我们也移除了一些不适合Bootstrap的元素。
默认栅格系统
栅格系统示例

Bootstrap默认的栅格系统为12列 ,形成一个940px宽的容器,默认没有启用 响应式布局特性 。如果加入响应式布局CSS文件,栅格系统会自动根据可视窗口的宽度从724px到1170px进行动态调整。在可视窗口低于767px宽的情况下,列将不再固定并且会在垂直方向堆叠。
这里写图片描述
带有基本栅格的HTML代码

对于简单的两列式布局,创建一个 .row 容器,并在容器中加入合适数量的 .span* 列即可。由于默认是12列的栅格,所有 .span* 列所跨越的栅格数之和最多是12(或者等于其父容器的栅格数)。

<div class="row">  <div class="span4">...</div>  <div class="span8">...</div></div>

上面的代码展示了 .span4 和 .span8 两列,两列的和总共是12个栅格。
偏移列

把列向右移动可使用 .offset* 类。每个类都给列的左边距增加了指定单位的列。例如,.offset4 将 .span4 右移了4个列的宽度。
这里写图片描述

<div class="row">  <div class="span4">...</div>  <div class="span3 offset2">...</div></div>

嵌套列

在默认的栅格系统里, 在已有的.span*内添加一个新的 .row 并加入 .span* 列,就可实现嵌套。被嵌套列中的每列列数总和要等于父级列。
这里写图片描述

<div class="row">  <div class="span9">    Level 1 column    <div class="row">      <div class="span6">Level 2</div>      <div class="span3">Level 2</div>    </div>  </div></div>

流式栅格系统
流式栅格系统案例

流式栅格系统对每一列的宽度使用百分比而不是像素数量。它和固定栅格系统一样拥有响应式布局的能力,这就保证它能对不同的分辨率和设备做出适当的调整。
这里写图片描述
基本的流式栅格HTML代码片段

将 .row 替换为 .row-fluid 就能让任何一行“流动”起来。应用于每一列的类不用改变,这样能方便的在流式与固定栅格之间切换。

<div class="row-fluid">  <div class="span4">...</div>  <div class="span8">...</div></div>

流式栅格的偏移

定义方式和固定网格系统相同:给任何想偏移的列添加 .offset* 即可。
这里写图片描述

<div class="row-fluid">  <div class="span4">...</div>  <div class="span4 offset2">...</div></div>

流式嵌套布局

和固定栅格的嵌套有一点不同:被嵌套的列数之和要等于12。这是因为流式栅格使用百分比来设置每列的宽度。
这里写图片描述

<div class="row-fluid">  <div class="span12">    Fluid 12    <div class="row-fluid">      <div class="span6">        Fluid 6        <div class="row-fluid">          <div class="span6">Fluid 6</div>          <div class="span6">Fluid 6</div>        </div>      </div>      <div class="span6">Fluid 6</div>    </div>  </div></div>

布局
固定布局

这里写图片描述
提供了一个通用的固定宽度(也可以变为响应式)的布局方式,仅仅用
即可。

</body>

流式布局
这里写图片描述
利用

代码可以创建一个流式、两列的页面 — 非常适合于应用和文档类页面。

<div class="container-fluid">  <div class="row-fluid">    <div class="span2">      <!--Sidebar content-->    </div>    <div class="span10">      <!--Body content-->    </div>  </div></div>

响应式设计
启用响应式特性

通过在文档中的 标签里添加合适的meta标签并引入一个额外的样式表即可启用响应式CSS。如果你已经在定制页面编译好一个Bootstrap, 那么只需添加一个meta标签。

<meta name="viewport" content="width=device-width, initial-scale=1.0"><link href="assets/css/bootstrap-responsive.css" rel="stylesheet">

注意! Bootstrap在默认情况下是没有引入响应式特性的,因为不是任何情况都需要使用到。我们并不是鼓励开发者移除此功能, 而是在需要使用的时候才启用它。
关于响应式Bootstrap
Responsive devices

Media queries允许在一些条件基础上自定义CSS 例如:—ratios、widths、display type, etc— 但通常都是围绕着 min-width 和 max-width 这两者。

修改栅格系统中列的宽度
需要的时候, 用堆叠元素代替浮动
调整标题和文本的大小以便适合各种设备

谨慎的使用media queries,先从你的手机用户开始吧。对于大型的项目, 应该考虑使用专门的代码库, 而不是构筑在media queries之上。
被支持的设备

Bootstrap 所支持的几个media queries都放在了一个文件中, 可以让你的项目更灵活的去适应不同设备和屏幕分辨率。包括:
这里写图片描述

/* 大屏幕 */@media (min-width: 1200px) { ... }/* 平板电脑和小屏电脑之间的分辨率 */@media (min-width: 768px) and (max-width: 979px) { ... }/* 横向放置的手机和竖向放置的平板之间的分辨率 */@media (max-width: 767px) { ... }/* 横向放置的手机及分辨率更小的设备 */@media (max-width: 480px) { ... }

响应式布局辅助class

为了更快的针对移动设备做开发, 下面列出的辅助class用于针对不同设备显示和隐藏内容。下表是可用的class列表, 以及它们在各个media query布局下的效果。这些class可以在 responsive.less 文件中找到。
这里写图片描述

0 0
原创粉丝点击