今天有空,小结一下Twitter Bootstrap 3的使用。首先不得不说,Bootstrap是迄今(2014)比较好的WEB设计框架(当然,其它的优秀WEB Framework还有:Foundation/Gumby/Yahoo pure css/Ink/),可以在很短的时间内构建出非常专业的WEB界面;配合各种模板,可以做出风格完全不同的网站;例如:谁能看的出TheNextWeb.com是基于Bootstrap框架做的呢?

最近做了一下项目是使用Bootstrap 3和HTML5来构造响应式用户界面(Responsive Web),能够自适应PC、Tablet PC平板电脑(7,10寸)、Phone手机等各种屏幕。另外我们还购买了一套bootstrap的第三方模板Core Admin来构建。Bootstrap 3是一个生态系统,你可以在Bootstrap模板商店挑选和购买各种模板(Template)。另外还有各种基于Bootstrap的开源项目,在Bootstrap中文网有很多这类项目,这里还有Bootstrap的所有资源大列表,很全。

实现效果

实现的效果还是非常不错的,配合Google web fonts很不错,特别是各种移动屏幕(PC、Tablet PC平板电脑(7,10寸, Surface/Galaxy tab/iPad)、iPhone/Android/Windows Phone手机等)都可以自适应,而且适配的浏览器有IE9+, Firefox, Safari, Chrome, 很不错。对IE7.8也可以加载Respond.js来解决问题。

具体效果可以访问:http://beer2code.com/themes/core-admin-3/pages/dashboard/dashboard.html

开始使用Bootstrap 3

下载下来以后就可以看到有CSS、JS和Fonts等几个目录,还有demo,基本上意思很简单,就是仿造例子,还有官网的说明就可以了,但具体改造起来涉及HTML的改造、JS的改造、CSS的改造、Font的使用等几方面。HTML首先要加上HTML5 的Doctype 标签:

<!DOCTYPE html>

然后是HTML内容:

<html>
<head>
<title>Bootstrap 101 Template</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<!-- Bootstrap -->
<link href="css/bootstrap.min.css" rel="stylesheet" media="screen">
</head> <body>
<h1>Hello, world!</h1> <script src="//code.jquery.com/jquery.js"></script>
<script src="js/bootstrap.min.js"></script>
</body>
</html>

可以看到有一个meta标签为viewport,用来告诉浏览器你的页面如何在设备上(mobiles, tablets, desktops, retina displays....)按比例缩小放大。接下来就是Bootstrap的css和js的引用了。在Bootstrap中,class名称用来做特殊的样式和js处理,所以对class要特别注意。另外,还有特殊的tag,举例来说,下面的导航栏定义:

<nav class="navbar-wrapper navbar-default navbar-fixed-top" role="navigation">
<div class="container">
<div class="navbar-header">
<a class="navbar-brand" href="#">Vacation Rentals</a>
</div>
</div>
</nav>

注意里面的标签和class 名字。重点研究一下Bootstrap里面的各种class和各种tag。

Bootstrap流式布局/格栅系统

接下来就是Bootstrap的流式布局。Bootstrap提供了一个移动优先的、分割为12列的格栅系统,这是实现响应式web的关键。当屏幕尺寸变化的时候,会按照你定义的格栅来断行。例如:下图的第二行是按照4:4:4的格栅布局,这样在宽屏上就全部一行显示,稍微不宽一点的屏幕就会把最后的4移动到下一行显示,更小的屏幕会显示为3行了。

例如下面的例子:

<div class="container">
<div class="row">
<div class="col-md-4">
<a href="#"><img class="img-responsive img-circle" src="data:images/feat1.jpg"></a>
<h3 class="text-center">Type 1</h3>
<p>Dummy Text..</p>
<a href="#" class="btn btn-success">Book Now @ $599</a>
</div> <div class="col-md-4">
<a href="#"><img class="img-responsive img-circle" src="data:images/feat2.jpg"></a>
<h3 class="text-center">Type 2</h3>
<p>Dummy Text..</p>
<a href="#" class="btn btn-danger">Book Now @ $899</a>
</div> <div class="col-md-4">
<a href="#"><img class="img-responsive img-circle" src="data:images/feat3.jpg"></a>
<h3 class="text-center">Type 3</h3>
<p>Dummy Text ...</p>
<a href="#" class="btn btn-info">Book Now @ $699</a>
</div>
</div>
</div>

Javascript方面

js方面的改造当然少不了,Model, Dropdown, Tab, Tooltip, Menu, Pop, Validation, Alert…具体可以看官网和这个Demo。这里举个弹出模态框的例子:

<!-- Modal -->
<div class="modal fade" id="myModal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-hidden="true">&times;</button>
<h4 class="modal-title" id="myModalLabel">Modal title</h4>
</div>
<div class="modal-body">
<h1>Hello World!</h1>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-default" data-dismiss="modal">Close</button>
<button type="button" class="btn btn-primary">Save changes</button>
</div>
</div><!-- /.modal-content -->
</div><!-- /.modal-dialog -->
</div><!-- /.modal -->

各种Vendor的第三方JS库

这块的改造是最痛苦的,我们以前是用的jQuery UI的库,都得改造。当然,前期也看到有人有插件能把jQuery UI转换为Bootstrap的,结果用下来比较糟糕,果断放弃。我们用到下列vendor的第三方js库插件:bootstrap-datepicker, bootstrap-editable, bootstrap-wysihtml5, dataTable, iButton, iCheck, jquery_uniform, sparkline, xChart, bootstrap-wizard, jquery.validationEngine, justgage, fullcalendar。这些插件用下来效果确实非常棒,例如xchart图表、还有即时编辑editalbe、日历控件fullCalendar和验证引擎等等。这里也是工作量最大的。具体另贴总结…

Font字体和矢量图标Icon Fonts

我们使用了Google web fonts, 由于在线引用Google CDN可能存在问题,下载了离线包,并把ttf字体转换为woff格式。

Icon是矢量化的,Icon fonts,在css设置大小和颜色,Icon就会自动变化大小和颜色。

暂时写到这里吧。

Twitter Bootstrap3小结的更多相关文章

  1. Twitter Bootstrap 3.0 正式发布,更好地支持移动端开发

    Twitter Bootstrap 3.0 终于正式发布了.这是一个圆滑的,直观的和强大的移动优先的前端框架,用于更快,更容易的 Web 开发.几乎一切都已经被重新设计和重建,更好的支持移动端设备. ...

  2. github最值得收藏的Bootstrap3后台管理框架

    1. AdminLTE AdminLTE是一个完全响应的后台管理模板.基于Bootstrap3框架.高度可定制,易于使用.适合许多屏幕分辨率从小型移动设备到大型台式机. GitHub AdminLTE ...

  3. 【前端框架系列】浅谈当前基于bootstrap框架的几种主流前端框架

    一  概述 当新开发一个项目或产品时,技术选型是一个不可缺少的环节,在软件架构中有着举足轻重的作用,可以这么说,技术选型的好坏直接影响项目或产品的成败优劣,因此,在进行软件架构时,一定要想好技术选型. ...

  4. 最值得拥有的免费Bootstrap后台管理模板

    在PHP开发项目中,后台管理因为面向群体相对比较固定,大部分以实现业务逻辑和功能.使用Bootstrap后台模板可以让后端开发很轻松的就展现给客户一个响应式的后台,节约前端开发的时间.下面PHP程序员 ...

  5. [转]最值得拥有的免费Bootstrap后台管理模板

    在PHP开发项目中,后台管理因为面向群体相对比较固定,大部分以实现业务逻辑和功能.使用Bootstrap后台模板可以让后端开发很轻松的就展现给客户一个响应式的后台,节约前端开发的时间.下面PHP程序员 ...

  6. 基于bootstrap的主流框架有哪些

    基于bootstrap的主流框架有哪些 一.总结 一句话总结:其实可以直接百度bootstrap后台模板,出来一大堆,想用哪个用哪个. 二.[前端框架系列]浅谈当前基于bootstrap框架的几种主流 ...

  7. datatables 配套bootstrap3样式使用小结(1)

    今天介绍汇总一下datatables. 网址: www.datatables.net 公司CMS内容资讯站的后台管理界面用了大量的table来管理数据,试用了之后,感觉挺不错,推荐一下. 先上一个基本 ...

  8. window.location 小结)

    其实在网上都能找到,我只是总结一下,方便自己查找使用 示例URL:http://b.a.com:88/index.php?name=kang&when=2011#first 属性     含义 ...

  9. Bootstrap3 入门实战

    因为公司选择了使用BootStrap3作为项目的前台展示框架,所以花了半天时间来学习Bootstrap, 如果你是第一次听说,或者说以前听说过,但没有使用过这个框架的话,希望这篇入门实战能够让你快速掌 ...

随机推荐

  1. HttpFilter

    import java.io.IOException; import javax.servlet.Filter; import javax.servlet.FilterChain; import ja ...

  2. WEB版一次选择多个文件进行批量上传(swfupload)的解决方案

    说明:功能完全支持ie和firefox浏览器! 一般的WEB方式文件上传只能使用FileUpload控件进行一个文件一个文件的进行上传,就算是批量上传,也要把文件一个一个的添加到页面,无法如windo ...

  3. word粘贴图片+的editor

    公司做的项目需要用到文本上传功能. Chrome+IE默认支持粘贴剪切板中的图片,但是我要粘贴的文章存在word里面,图片多达数十张,我总不能一张一张复制吧? 我希望打开文档doc直接复制粘贴到富文本 ...

  4. #微码分享#AES算法的C++包装类

    AES为Advanced Encryption Standard的缩写,中文名:高级加密标准,在密码学中又称Rijndael加密法,是美国联邦政府采用的一种区块加密标准,用来替代DES.基于std:: ...

  5. Linux磁盘满问题分析

    线上一台Linux服务器最近经常磁盘根分区满告警,但不是普通的日志文件或数据文件过多过大,现象如下: 1)执行“df -h”查看各分区空间的使用情况[root@XEN64 /]# df -hFiles ...

  6. Ng第十二课:支持向量机(Support Vector Machines)(三)

    11 SMO优化算法(Sequential minimal optimization) SMO算法由Microsoft Research的John C. Platt在1998年提出,并成为最快的二次规 ...

  7. 基类的析构函数写成virtual虚析构函数

    虚函数作用:动态绑定,实现多态效果. 场景问题: 派生类中有资源需要回收,而在编程中采用多态,由基类的指针指向派生类,则在释放的时候,如果基类的析构函数不是virtual,则派生类的析构函数得不到释放 ...

  8. js五道经典练习题--第一道

    <!DOCTYPE html><html> <head> <meta charset="UTF-8"> <title>& ...

  9. poj3924

    题目:给定一个起点(xw1, yw1),直线经过(xw2, yw2),速度为vw无限运动的点,还有一个起点(xt1, yt1),终点(xt2, yt2),并且在以vt速度在两者往返运动,求两者在运动中 ...

  10. PCI总线目标接口状态机设计

    module state_machine (devsel_l, trdy_l, stop_l, pci_ad_oe,      dts_oe, par_oe, bk_oe, pci_ad_en, hi ...