1、本作品由 VentLam 创作,采用 知识共享署名- 非商业性使用-相同方式共享 2.5 中国大陆许可协议进行许可。BootStrap 入门教程 (一)2011年,twitter 的“一小撮”工程师为了提高他们内部的分析和管理能力,用业余时间为他们的产品构建了一套易用、优雅、灵活、可扩展的前端工具集-BootStrap。Bootstrap 由 MARK OTTO 和 Jacob Thornton 所设计和建立,在 github 上开源之后,迅速成为该站上最多人 watch要素排版利落大方。如下图所示:https:/ 上这样介绍 bootstrap:简单灵活可用于架构流行的用户界面和交互接口的
2、html,css,javascript 工具集。基于 html5、css3的 bootstrap,具有大量的诱人特性:友好的学习曲线,卓越的兼容性,响应式设计,12列格网,样式向导文档,自定义 JQuery 插件,完整的类库,基于 Less 等。本系列教程遵循官方文档结构来介绍 bootstrap,包括手脚架(Scaffolding),基础 CSS,组件,javascript 插件,使用 LESS 与自定义.本文主要介绍 Bootstrap 的基础布局- Scaffolding.Bootstrap 建立了一个响应式的12列格网布局系统,它引入了 fixed 和 fluid-with 两种布局方
3、式。我们从全局样式(Global Style),格网系统(Grid System),流式格网 (Fluid grid System),自定义(Customing),布局(Layouts),响应式设计(Responsive Design)这六五个方面深入讲解 Boostrap 的 scaffolding. 全局样式(Global Style).Bootstrap 要求 html5的文件类型,所以必须在每个使用 bootstrap 页面的开头都引用: . 同时,它通过 Bootstrap.less 文件来设置全局的排版和连接显示风格.其中去掉了 Body 的 margin,使用baseFontFa
4、mily,baseFontSize,linkColor 等变量来控制基本排版。 格网系统(Grid System).默认的 Bootstrap 格网系统提供一个宽达940像素的,12列的格网。这意味着你页面默认宽度是940px,最小的单元要素宽度是940/12px.Bootstrap 能够使得你的网页可以更好地适应多种终端设备(平板电脑,智能手机等 )。默认格网系统直观概念如图 1-1所示:图1-1 默认格网系统(Default Grid System) 以下简单的代码则是实现图1-1中,第三列的宽度为4和宽度为8的两个 div. .2.2 偏移列. 有时候,页面要素前面需要一些空白,boot
5、strap 提供了偏移列来实现,如图1-2所示:图1- 偏移列(Offset columns)以下代码实现了是实现图1-2中,第一列的宽度为4和偏移度为4宽度为4的两个 div.2.3 嵌套列. 嵌套列是容许用户实现更复杂的页面要素布局。在 bootstrap 中实现嵌套列非常简单,只需要在原有的 div 中加入.row 和相应的长度的 span* div 即可。 如图1-3所示:图1-3 嵌套列(Nesting columns) 以下代码实现了是实现图1-3中,第一层的宽度为12和第二层两个宽度为6的两个 div.Level 1 of columnLevel 2Level 2嵌套的 div
6、长度之和不能大于它的父 div,否则会溢出叠加。各位可以试试将第一层的 div 长度改为其他值,看看效果。 流式格网系统(Fluid grid system).它使用% ,而不是固定的 px,来确定页面要素的宽度.只需要简单的将.row 改成.row-fluid ,就可以将 fixed 行改为 fluid.如图1-4所示: 图1-4 流式格网系统(Fluid grid system) 以下代码实现了是实现图1-4中,两个不同长度的流式页面要素. .嵌套的流式格网和嵌套的固定格网,稍微有些不同。嵌套流式格网(Fluid nesting)的子要素不用匹配父要素的宽度,子要素用100%来表示占满父要
7、素的页面宽度。自定义格网(Grid cus 默认值 说明tomization).Bootstrap允许通过修改 variables.less 的参数值来自定义格网系统。主要包括如表 1-1所示的变量:变量gridColumns 12 列数gridColumnWidth 60px 每列的宽度gridGutterWidth 20px 列间距表1-1 格网变量 我们通过修改以上值,并重新编译 Bootstrap 来实现自定义格网系统。如果添加新的列,需要同时修改 grid.less.同样的,需要修改 responsive.less 来获得多设备兼容. 布局(Layout).本文最后我们讨论创建页面基
8、础模板的布局。如前面所言,Bootstrap 提供两种布局方式,包括固定(Fixed)和流式(Fliud)布局。如图1-5 所示,左边为 Fixed 布局,右边为 Fluid 布局: 图1-5 布局(Layout) 固定布局代码如下: .流式布局代码如下:如果对 Bootstrap 提供的布局不够满意,可以参见 Less Frame Work 提供的模板。最后,再次强调,官方文档极其优秀,强烈推荐各位直接参考和学习之。http:/ 的来由和发展。http:/ 与 Sass 的介绍与对比.http:/ http:/ Bootstrap 混合项目 (H5BP)https:/ Bootstrap 资
9、源 http:/ 按钮生成器 http:/charliepark.org/bootstrap_buttons/7.前后端结合讨论 http:/ Bootstrap 英文教程 http:/ 入门教程 (二)上讲回顾:Bootstrap 的手脚架(Scaffolding)提供了固定(fixed)和流式(fluid)两种布局,它同时建立了一个宽达940px 和12列的格网系统。基于手脚架(Scaffolding)之上,Bootstrap 的基础 CSS(Base CSS)提供了一系列的基础 Html 页面要素,旨在为用户提供新鲜、一致的页面外观和感觉。本文将主要深入讲解排版(Typography),
10、表格(Table), 表单(Forms),按钮(Buttons)这四个方面的内容。 排版 (Typography),它囊括标题(Headings), 段落 (paragraphs), 列表(lists)以及其他内联要素。我们可以通过修改 variables.less 的两个变量 :baseFontSize 和 baseLineHeight 来控制整体排版的样式。Bootstrap 同时还用了一些其他的算术方法来创建所有类型要素的 margin,padding,line-height 等。1.1 标题和段落使用常见的 html和即可表现,可以不必考虑 margin,padding。两者显示效果如
11、图2-1所示:图2-1 标题与段落(Headings¶graphs)1.2 强调(Emphasis).使用和两个标签,前者使用粗体,后者使用斜体来强调标签内容。请注意标签在 html4中定义语气更重的强调文本;在 HTML 5 中, 定义重要的文本。这些短语标签也可以通过定义 CSS 的方式来丰富效果。更多短语标签请参见 1.缩写(abbreviations ).使用,它重新封装了该标签,鼠标滑过会异步地显示缩写的含义。引入 title 属性来显示原文,使用.initialism 类对缩写以大写方式显示。1.3 引用文字(Blockquotes). 使用标签和两个标签,前者是引用的文字
12、内容,后者 是可选的要素,能够添加书写式的引用,比如内容作者。如图2-2 所示图2-2 引用(Blockquotes)代码片段如下所示:凌冬将至. 我是黑暗中的利剑,长城上的守卫,抵御寒冷的烈焰,破晓时分的光线,唤醒眠者的号角,守护王国的坚盾。守夜人军团总司令 .蒙奇.D.路飞凌冬将至.我是黑暗中的利剑,长城上的守卫,抵御寒冷的烈焰,破晓时分的光线,唤醒眠者的号角,守护王国的坚盾。 守夜人军团总司令.蒙奇.D.路飞1.4列表(lists).Bootstrap 提供三种标签来表现不同类型的列表。表示无序列表,表示无样式的无序列表,表示有序列表, 表示描述列表, 表示竖排描述列表。图2-3较好显示
13、了这几种列表:图2-3 列表(lists)2.表格(Table).依然使用 等标签来表现表格。主要提供了四个 css 的类来控制表格的边和结构。表2-1显示了 bootstrap 的 table 可选项。名字 Class 描述Default None 没有样式,只有行和列Basic .table 只有在行间有竖线Bordered .table-bordered 圆角和添加外边框Zebra-stripe .table-striped 为奇数行添加淡灰色的背景色Condensed .table-condensed 将横向的 padding 对切表2-1 表格选项(Table Options)我们可
14、以将这些 CSS 类结合起来使用,如图2-4所示,显示一个混合的表格:图2-4 表格(Table)代码片段如下所示:View CodeFocused inputUneditable inputSome value hereDisabled inputDisabled checkboxThis is a disabled checkboxInput with warningSomething may have gone wrongInput with errorPlease correct the errorInput with successWoohoo!Select with success12345Woohoo!Save changesCancel3. 表单(Forms).Bootstrap 的表单是非常惊艳的部分。最好的地方在于你如何使用这些 hmtl 标签,它都会有很好的表现效果,而且不需要其他多余的代码。无论多复杂的布局都可以根据这些简洁,可扩展,事件绑定的要素来轻易实现。主要提供了四四种表单选项,如表2-2所示:名字 Class 描述Vertical (default) .form-vertical (not required) 堆放式, 可控制的左对齐标签