BootStrap入门教程 (一)

标签: bootstrap | 发表时间:2012-05-28 00:56 | 作者:林场
出处:http://www.cnblogs.com/

     2011年,twitter的“一小撮”工程师为了提高他们内部的分析和管理能力,用业余时间为他们的产品构建了一套易用、优雅、灵活、可扩展的前端工具集-- BootStrap。Bootstrap由 MARK OTTOJacob Thornton所设计和建立,在 github上开源之后,迅速成为该站上最多人 watch& fork的项目。大量工程师踊跃为该项目贡献代码,社区惊人地活跃,代码版本进化非常快速,官方文档质量极其高(可以说是优雅),同时涌现了许多基于Bootstrap建设的网站:界面清新、简洁;要素排版利落大方。如下图所示:

                                                                            https://kippt.com /

                                                                               http://www.fleetio.com /

     GitHub上 这样介绍 bootstrap:简单灵活可用于架构流行的用户界面和交互接口的html,css,javascript工具集。基于html5、css3的bootstrap,具有大量的诱人特性:友好的学习曲线,卓越的兼容性,响应式设计,12列格网,样式向导文档,自定义JQuery插件,完整的类库,基于 Less等。本系列教程遵循官方文档结构来介绍bootstrap,包括手脚架(Scaffolding),基础CSS,组件,javascript插件,使用LESS与自定义.本文主要介绍Bootstrap的基础布局-- Scaffolding.

      Bootstrap建立了一个响应式的12列格网布局系统,它引入了fixed和fluid-with两种布局方式。我们从全局样式(Global Style),格网系统(Grid System),流式格网(Fluid grid System),自定义(Customing),布局(Layouts),响应式设计(Responsive  Design)这六五个方面深入讲解Boostrap的scaffolding.

  1.   全局样式(Global Style).Bootstrap要求html5的文件类型,所以必须在每个使用bootstrap页面的开头都引用:
    <!DOCTYPE html>
    <html lang="en">
    ...
    </html>
    同时,它通过Bootstrap.less文件来设置全局的排版和连接显示风格.其中去掉了Body的margin,使用@baseFontFamily,@baseFontSize,@linkColor等变量来控制基本排版。
  2.   格网系统(Grid System).默认的Bootstrap格网系统提供一个宽达940像素的,12列的格网。这意味着你页面默认宽度是940px,最小的单元要素宽度是940/12px.Bootstrap能够使得你的网页可以更好地适应多种终端设备(平板电脑,智能手机等)。默认格网系统直观概念如图1-1所示:                                                                                                                                                             图1-1 默认格网系统(Default Grid System)                                                                                                                                                                 以下简单的代码则是实现图1-1中,第三列的宽度为4和宽度为8的两个div.
    <div class="row">
    <div class="span4">...</div>
    <div class="span8">...</div>
    </div>

    2.2  偏移列. 有时候,页面要素前面需要一些空白,bootstrap提供了偏移列来实现,如图1-2所示:

                                                                              图1-2 偏移列(Offset columns)

    以下代码实现了是实现图1-2中,第一列的宽度为4和偏移度为4宽度为4的两个div.

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

    2.3 嵌套列. 嵌套列是容许用户实现更复杂的页面要素布局。在bootstrap中实现嵌套列非常简单,只需要在原有的div中加入.row 和相应的长度的span* div即可。       如图1-3所示:

                                                                                                                                                     图1-3     嵌套列(Nesting columns) 

    以下代码实现了是实现图1-3中,第一层的宽度为12和第二层两个宽度为6的两个div.

    <div class="row">
    <div class="span12">
    Level 1 of column
    <div class="row">
    <div class="span6">Level 2</div>
    <div class="span6">Level 2</div>
    </div>
    </div>
    </div>

    嵌套的div长度之和不能大于它的父div,否则会溢出叠加。各位可以试试将第一层的div长度改为其他值,看看效果。

  3. 流式格网系统(Fluid grid system).它使用%,而不是固定的px,来确定页面要素的宽度.只需要简单的将.row 改成.row-fluid ,就可以将fixed行改为fluid.如图1-4所示:                                                                                                                                                                          图1-4 流式格网系统(Fluid grid system)                                                                                                                                                                                  以下代码实现了是实现图1-4中,两个不同长度的流式页面要素.
    <div class="row-fluid">
    <div class="span4">...</div>
    <div class="span8">...</div>
    </div>

    嵌套的流式格网和嵌套的固定格网,稍微有些不同。嵌套流式格网(Fluid nesting)的子要素不用匹配父要素的宽度,子要素用100%来表示占满父要素的页面宽度。

  4. 自定义格网(Grid customization).Bootstrap允许通过修改variables.less的参数值来自定义格网系统。主要包括如表1-1所示的变量:
    变量 默认值 说明
    @gridColumns 12 列数
    @gridColumnWidth 60px 每列的宽度
    @gridGutterWidth 20px 列间距

                                                                                                    表1-1 格网变量                                                                                                                                                                                                                                               我们通过修改以上值,并重新编译Bootstrap来实现自定义格网系统。如果添加新的列,需要同时修改grid.less.同样的,需要修改responsive.less来获得多设备兼容.

  5. 布局(Layout).本文最后我们讨论创建页面基础模板的布局。如前面所言,Bootstrap提供两种布局方式,包括固定(Fixed)和流式(Fliud)布局。如图1-5所示,左边为Fixed布局,右边为Fluid布局:                                                                                                                                               图1-5 布局(Layout)                                                                                                                                                                                           固定布局代码如下:
    <body>
    <div class="container">
    ...
    </div>
    </body>

    流式布局代码如下:

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

    如果对Bootstrap提供的布局不够满意,可以参见 Less Frame Work 提供的模板。

    最后, 再次强调,官方文档极其优秀,强烈推荐各位直接参考和学习之。 http://twitter.github.com/bootstrap/index.html

    参考文献与延伸阅读:

    1.Bootstrap的来由和发展。 http://www.alistapart.com/articles/building-twitter-bootstrap/

    2.Less与Sass的介绍与对比. http://coding.smashingmagazine.com/2011/09/09/an-introduction-to-less-and-comparison-to-sass/

    3.Html5模板  http://html5boilerplate.com/

    4.Html5与Bootstrap混合项目(H5BP) https://gist.github.com/1422879

    5.20个有用的Bootstrap资源  http://www.webresourcesdepot.com/20-beautiful-resources-that-complement-twitter-bootstrap/

    6.Bootstrap按钮生成器  http://charliepark.org/bootstrap_buttons/

    7.前后端结合讨论   http://stackoverflow.com/questions/9525170/backend-technology-for-front-end-technologies-like-twitter-bootstrap

    8. Bootstrap英文教程   http://webdesign.tutsplus.com/tutorials/htmlcss-tutorials/stepping-out-with-bootstrap-from-twitter/

     

本文链接

相关 [bootstrap] 推荐:

[原]Bootstrap,Bagging,Boosting

- - 狮子座明仔知识集散场
Bootstrap(自助法). Bootstrap,即“自助法”,是用小样本来估计大样本的统计方法. 子样本之于样本,可以类比样本之于总体. 你要统计你们小区里男女比例,可是你全部知道整个小区的人分别是男还是女很麻烦对吧. 于是你搬了个板凳坐在小区门口,花了十五分钟去数,准备了200张小纸条,有一个男的走过去,你就拿出一个小纸条写上“M”,有一个女的过去你就写一个“S”.

Bootstrap,网站模板,bootstrap模板

- - CSDN博客Web前端推荐文章
日期:2013-3-31  来源: GBin1.com. Charisma是一套全功能的,免费,会员质量的响应式HTML5管理员界面模板,基于 "Bootstrap",拥有了9套不同的主题颜色内容,可以满足你的不同需要. 完全响应式,针对了移动设备和触摸设备优化. 基于bootstrap,同时也支持jQuery UI.

向Twitter Bootstrap 学习什么?

- junyu - 知乎的博客
什么是 Twitter Bootstrap. Twitter 有一位风格清新的设计师 Mark Otto(此人之前在 Zurb)[1],他负责了很多 Twitter 非前台的页面设计,比如 Dev、Support 和 Promoted Products 的设计. 去年,Mark 在自己网站发布了一套基于 Less [2] 框架的工具合集(mixins)—— Bootstrap.less [3],方便前端开发(静态部分).

BootStrap入门教程 (三)

- - 博客园_首页
      上讲回顾:Bootstrap的基础CSS(Base CSS)提供了优雅,一致的多种基础Html页面要素,包括排版,表格,表单,按钮等,能够满足前端工程师的基本要素需求.       Bootstrap作为完整的前端工具集,内建了大量的强大优雅可重用的组件,包括按钮(Button),导航(Navigation),标签(Labels),徽章(Badges),排版(Typography),缩略图( thumbnails),提醒(Alert),进度条(progress bar),杂项(Miscellaneous).

BootStrap入门教程 (二)

- - 博客园_首页
        上讲回顾:Bootstrap的手脚架(Scaffolding)提供了固定(fixed)和流式(fluid)两种布局,它同时建立了一个宽达940px和12列的格网系统.       基于手脚架(Scaffolding)之上,Bootstrap的基础CSS(Base CSS)提供了一系列的基础Html页面要素,旨在为用户提供新鲜、一致的页面外观和感觉.

BootStrap入门教程 (一)

- - 博客园_首页
     2011年,twitter的“一小撮”工程师为了提高他们内部的分析和管理能力,用业余时间为他们的产品构建了一套易用、优雅、灵活、可扩展的前端工具集-- BootStrap. Bootstrap由 MARK OTTO和 Jacob Thornton所设计和建立,在 github上开源之后,迅速成为该站上最多人 watch& fork的项目.

【外刊IT评论网】Twitter Bootstrap

- - 外刊IT评论网
Bootstrap是一个基于HTML,CSS,JAVASCRIPT的简洁灵活的. 它目前是GitHub 上最火的一个项目. 美国国家航空航天局和美国MSNBC有线新闻频道都使用了它. 本文的作者是Bootstrap的创始人之一. 我并不认为从开发Bootstrap框架中学到了任何东西. 事实上,我非常确信,我不会学到任何东西.

这正在 Bootstrap 化的世界

- - 萝卜网
一、无处不在的 Bootstrap. 你是否见过这样蓝色的光泽效果的文本框. 如果你对以上任何一个问题的回答是「是」的话,或者,或者你见过这种风格的其他元素的话,那么,恭喜您,你也见过 Bootstrap 了. 二、伟大的 Bootstrap. 来自 Twitter 的 Bootstrap 项目是 Twitter 开发的一套设计框架.

免费的响应式Bootstrap模板 - Codester

- - CSDN博客推荐文章
日期:2013-3-3  来源: GBin1.com. Codester是一个基本的个人作品集 Bootstrap模板,帮助设计师,摄影师,图形艺术工作者搭建高度可定制的网站. 拥有自定义包和相关的javascript,css和组件,相信大家肯定喜欢. 兼容各种移动和触摸设备屏幕尺寸. 拥有来自 Template Monster的add-on.

Twitter Bootstrap生态系统持续增长

- - InfoQ cn
Bootstrap Hero最近针对 Twitter Bootstrap发布了 一个超过200多个资源的列表. 文章列出了各种UI部件,从 accordions到 address pickers再到 pagination tools和一些 更强大的模型窗口. 当然,它同时也列出了很多其他的资源,展示了整个生态系统目前的丰富程度.