`

Bootstrap栅格化布局

css 
阅读更多
Bootstrap的栅格系统为12列(最大列数),形成一个940px宽的容器。

Bootstrap的栅格系统有俩种,一种是固定式的,一种是流式的(也就是可适应宽度的)。

1.固定式栅格

   固定式栅格系统每列的宽度(width)及列与列间的间距(margin)都是固定的,列宽为60px,列间距为20px。如下图:







在Bootstrap中定义了俩个样式。容器为 .row ,可在容器中加入合适数量的 .span* 列。

用法如下:




1.<div class="row">

2.<div class="span4">...</div>

3.<div class="span8">...</div>

4.</div>

用法非常类似<table> 标签。"<div class='row'>"相当于是<table>,"<div class='span4'>"、"<div class='span8'>" 相当于"<td cols='4'>"、"<td cols='8'>"。注意:由于默认是12列的栅格,所有 .span* 列所跨越的栅格数之和最多是12(或者等于其父容器的栅格数)。




源码的css样式如下:




1.[class*="span"] {

2.float: left;

3.min-height: 1px;

4.margin-left: 20px;

5.}

上面是个属性选择器。定义属性名为"class"的值包含子串"span",也就是span1、span2、span3....。"margin-left:20px"定义了每列的左边距为20px,也就是上图中的间距20px。




1..row {

2.margin-left: -20px;

3.*zoom: 1;

4.}


.row是定义栅格容器的,可以看到其中并没有定义宽度(width),所以其宽度就由内部栅格的总列宽决定。"margin-left:-20px" 定义容器的左边距负的20px(-20px),作用是抵销第1列前面的20px,在上图中已经标出。




01..span12 {

02.width: 940px;

03.}

04.

05..span11 {

06.width: 860px;

07.}

08.

09..span10 {

10.width: 780px;

11.}

12.

13..span9 {

14.width: 700px;

15.}

16.

17..span8 {

18.width: 620px;

19.}

20.

21..span7 {

22.width: 540px;

23.}

24.

25..span6 {

26.width: 460px;

27.}

28.

29..span5 {

30.width: 380px;

31.}

32.

33..span4 {

34.width: 300px;

35.}

36.

37..span3 {

38.width: 220px;

39.}

40.

41..span2 {

42.width: 140px;

43.}

44.

45..span1 {

46.width: 60px;

47.}

span1、span2...很像表格元素<table>中<td>的cols,即合并多少列。span1就是合并1列(即不合并),span2就是合并2列,span3是合并3列...。那为什么span2的宽度是140px那,我们可以算下:







先看下span2。由于上面的属性选择器已经规定了span1、span2.....span12  的左边距都是20px,所以span2自身有20px的左边距(margin-left:20px),也就是上图中第3列与第4列的间距。所以对于上面图来说span2的宽度就是等于=第4列的宽度60px+第5列的宽度60px+第4列与第5列的间距20px =140px。span3的算法也是如此。   最后总结的公式就是spanN的宽度(width) = N*60 + (N-1)*20。大家可以验证下。







偏移列

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




源码如下:




01..offset12 {

02.margin-left: 980px;

03.}

04.

05..offset11 {

06.margin-left: 900px;

07.}

08.

09..offset10 {

10.margin-left: 820px;

11.}

12.

13..offset9 {

14.margin-left: 740px;

15.}

16.

17..offset8 {

18.margin-left: 660px;

19.}

20.

21..offset7 {

22.margin-left: 580px;

23.}

24.

25..offset6 {

26.margin-left: 500px;

27.}

28.

29..offset5 {

30.margin-left: 420px;

31.}

32.

33..offset4 {

34.margin-left: 340px;

35.}

36.

37..offset3 {

38.margin-left: 260px;

39.}

40.

41..offset2 {

42.margin-left: 180px;

43.}

44.

45..offset1 {

46.margin-left: 100px;

47.}

.offset1即移动一列,.offset2移动俩列。margin-left是如何得出来的,以.offset1移动一列为例,如下图:







上图演示了从第2列偏移1列到第3列。未移动前第2列的margin-left为20px,移动后由于占了俩个间距和一个列宽,所以最终的margin-left就是100px。




2.流式栅格

流式也固定式栅格的区别就是,每列的宽度是按照百分比来瓜分外围包裹的宽度的,看下源码:

view sourceprint?

1..row-fluid {

2.width: 100%;

3.*zoom: 1;

4.}

定义容器的宽度完全填充包裹外围容器的宽度。




1..row-fluid [class*="span"]:first-child {

2.margin-left: 0;

3.}

清空第一列前面的边距,与固定式中的margin-left:-20px效果是一样的




01..row-fluid [class*="span"] {

02.display: block;

03.float: left;

04.width: 100%;

05.min-height: 30px;

06.margin-left: 2.127659574468085%;

07.*margin-left: 2.074468085106383%;

08.-webkit-box-sizing: border-box;

09.-moz-box-sizing: border-box;

10.box-sizing: border-box;

11.}

我们这里只关注与宽度有关的代码。上面代码中margin-left: 2.127659574468085% 以百分比设置列的左边距(margin-left),约等于2.12%,

我们以上面固定式中的940px 为例来算下大约是多少px。2.12% * 940 = 19.928 。 与20px很接近。 





01..row-fluid .span12 {

02.width: 100%;

03.*width: 99.94680851063829%;

04.}

05.

06..row-fluid .span11 {

07.width: 91.48936170212765%;

08.*width: 91.43617021276594%;

09.}

10.

11..row-fluid .span10 {

12.width: 82.97872340425532%;

13.*width: 82.92553191489361%;

14.}

15.

16..row-fluid .span9 {

17.width: 74.46808510638297%;

18.*width: 74.41489361702126%;

19.}

20.

21..row-fluid .span8 {

22.width: 65.95744680851064%;

23.*width: 65.90425531914893%;

24.}

25.

26..row-fluid .span7 {

27.width: 57.44680851063829%;

28.*width: 57.39361702127659%;

29.}

30.

31..row-fluid .span6 {

32.width: 48.93617021276595%;

33.*width: 48.88297872340425%;

34.}

35.

36..row-fluid .span5 {

37.width: 40.42553191489362%;

38.*width: 40.37234042553192%;

39.}

40.

41..row-fluid .span4 {

42.width: 31.914893617021278%;

43.*width: 31.861702127659576%;

44.}

45.

46..row-fluid .span3 {

47.width: 23.404255319148934%;

48.*width: 23.351063829787233%;

49.}

50.

51..row-fluid .span2 {

52.width: 14.893617021276595%;

53.*width: 14.840425531914894%;

54.}

55.

56..row-fluid .span1 {

57.width: 6.382978723404255%;

58.*width: 6.329787234042553%;

59.}

上面的代码是设置列的宽度(width),其中的百分比的得来也是按照固定式中的原则算的。




强大的Bootstrap可视化编辑器:

http://www.layoutit.com/build


转自:http://hi.baidu.com/cubeking/item/67a204dc91c0bbeeb2f7774c
分享到:
评论

相关推荐

    bootstrap可视化布局系统

    在Bootstrap中,可视化布局系统是构建用户界面的关键工具,它允许开发者通过直观的方式来设计和组织网页元素,从而提高开发效率并确保跨设备的兼容性。 在Bootstrap的可视化布局系统中,网格(Grid System)是最...

    bootstrap实现响应式登录页面

    bootstrap实现响应式登录页面

    bootstrap3.3 布局工具 离线版本 没网络也能用

    Bootstrap 的核心布局工具是其著名的12列栅格系统。通过使用`.container`、`.row` 和 `.col-*-*` 类,开发者可以创建灵活的网格布局,适应不同屏幕尺寸。例如,`.col-md-4` 表示在中等(medium)屏幕尺寸下占据12列...

    任务3 Bootstrap栅格系统.doc

    Bootstrap栅格系统是Web开发中一个非常重要的工具,它是一个响应式的布局框架,能够帮助开发者快速构建适应不同屏幕尺寸的网站。在“任务3 Bootstrap栅格系统”中,我们将学习如何利用Bootstrap栅格系统实现招商银行...

    bootstrap布局可视化可拖拽

    "bootstrap布局可视化可拖拽"这个主题指的是使用Bootstrap配合某些可视化工具或插件,实现布局元素的拖放功能,从而让开发者可以直观地调整网页布局。 Bootstrap的基础布局系统依赖于网格(Grid System),它将页面...

    layoutit+Bootstrap可视化编辑拖动面板布局系统.zip

    layoutit+Bootstrap可视化网站编辑拖动面板布局系统是一款可拖放排序在线编辑的Bootstrap可视化布局系统,可使用的组件很多,支持栅格化排列布局,最大的亮点支持拖拽并且可视化,即拖即用,功能十分强大!

    bootstrap布局设计器

    Bootstrap栅格系统通常分为12个等分,开发者可以自由分配这些列,创建不同宽度的元素。 `index.html`是网页的入口文件,其中包含了页面的基本结构,包括&lt;!DOCTYPE html&gt;声明、html标签、head部分以及body部分。在...

    Bootstrap商品图片网格布局代码

    总的来说,"Bootstrap商品图片网格布局代码"涉及了Bootstrap栅格系统、响应式设计、鼠标悬停效果、性能优化等多个知识点。理解并熟练运用这些技术,能够帮助开发者构建出美观、易用且高效的购物网站商品展示页面。

    bootstrap3可视化布局工具源码

    "bootstrap3可视化布局工具源码"可能包含了以下内容: - 一个用户友好的界面,用户可以通过拖拽和配置来设计网格、组件等。 - 生成代码的逻辑,将用户的界面设置转化为对应的HTML和CSS代码。 - 可能包含一些示例和...

    Bootstrap3可视化布局离线版

    Bootstrap3可视化布局离线版是基于Bootstrap框架的一个实用工具,主要针对前端开发者设计,特别是那些在没有网络连接或需要快速本地工作流程的情况下。这个离线版本来源于知名的在线学习平台w3cschool,它允许用户在...

    Bootstrap栅格系统使用方法及页面调整变形的解决方法

    在Bootstrap栅格系统中,页面布局被划分为等宽的列,然后通过列数的定义来模块化页面布局。 Bootstrap栅格系统的栅格类可以分为四种:超小屏幕类()、小屏幕设备类(≥768px且)、中型设备类(≥992px且)和大型...

    layoutit bootstrap3.01中文版在线编辑的bootstrap可视化布局系统

    LayoutIT则是一个基于Bootstrap 3.01的可视化布局工具,专为不熟悉HTML、CSS或JavaScript的开发者和设计师设计,允许他们通过拖放方式快速创建和编辑Bootstrap页面布局。 在LayoutIT中,用户可以直观地构建网页布局...

    jQuery Bootstrap网格布局和列表布局切换代码

    1. **初始化布局**:在HTML中,同时定义网格布局和列表布局,但初始时只显示一种布局。例如,可以默认显示网格布局,隐藏列表布局。 ```html ;"&gt; &lt;!-- 网格内容 --&gt; ;"&gt; &lt;!-- 列表内容 --&gt; ``` 2. **...

    腾讯全端Bootstrap响应式布局

    总的来说,实现腾讯全端Bootstrap响应式布局,需要熟练掌握HTML的结构化标签,理解Bootstrap框架的栅格系统和组件,以及灵活运用CSS媒体查询。这不仅有助于创建出高质量的网页,也有助于提升你的前端开发技能,更好...

    BootStrap布局常用控件整合

    - **栅格系统(Grid System)**:用于创建响应式布局,自动调整列宽以适应不同设备的屏幕尺寸。 - **卡片(Cards)**:一种灵活且可定制的内容容器,常用于展示图像、文本、链接等内容。 5. **HTML5**:Bootstrap...

    bootstrap各种布局模板(html文件)

    1. **响应式设计**:Bootstrap采用了网格系统(Grid System),通过12列的栅格布局,可以灵活地适应不同设备的屏幕尺寸,包括手机、平板和桌面电脑。这使得网站在不同设备上都能呈现出良好的视觉效果。 2. **预定义...

    960网页栅格化总结

    CSS3的媒体查询进一步增强了栅格化布局的响应性,允许根据设备的视口宽度调整布局,以实现移动优先的设计策略。 960 Grid System不仅简化了网页设计过程,还促进了团队之间的协作。设计师和开发者可以使用同一套...

    jQuery可伸展的Bootstrap图片网格布局代码.zip

    插件可能会包含一些方法,如`init()`用于初始化布局,`resize()`用于处理窗口缩放,以及`destroy()`用于清理和移除插件的绑定事件和样式。 4. **动画效果**:为了提供更好的用户体验,代码可能还包含了一些过渡和...

    bootstrap可视化代码生成

    "Bootstrap可视化布局系统使用文档.docx"可能包含了关于如何使用这个工具的详细指南,包括功能介绍、操作步骤和常见问题解答。而"可视化布局系统操作示例.mp4"很可能是视频教程,通过实际操作演示了如何利用工具创建...

    bootstrap评论列表模板

    Bootstrap评论列表模板是一种基于Bootstrap前端框架设计的网页组件,它为网站提供了一种标准化的、美观的、响应式的用户评论展示方式。Bootstrap是由Twitter开发并开源的,它是一套强大的前端开发工具集,包含了丰富...

Global site tag (gtag.js) - Google Analytics