好得很程序员自学网

<tfoot draggable='sEl'></tfoot>

BootStrap入门教程

BootStrap入门教程

 2011年,twitter的“一小撮”工程师为了提高他们内部的分析和管理能力,用业余时间为他们的产品构建了一套易用、优雅、灵活、可扩展的前端工具集-- BootStrap 。Bootstrap由 MARK OTTO 和 Jacob 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.

  全局样式(Global Style) .Bootstrap要求html5的文件类型,所以必须在每个使用bootstrap页面的开头都引用:

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

同时,它通过Bootstrap.less文件来设置全局的排版和连接显示风格.其中去掉了Body的margin,使用@baseFontFamily,@baseFontSize,@linkColor等变量来控制基本排版。   格网系统(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长度改为其他值,看看效果。

流式格网系统(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%来表示占满父要素的页面宽度。

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

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

布局(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提供的布局不够满意,可以参见 L ess 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入门教程 (三)

 

BootStrap入门教程 (二)

 

BootStrap入门教程 (一)

 

标签:  bootstrap ,  twitter ,  前端开发 ,  html5 ,  ccs3 ,  javascript

作者: Leo_wl

    

出处: http://www.cnblogs.com/Leo_wl/

    

本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。

版权信息

查看更多关于BootStrap入门教程的详细内容...

  阅读:46次