Bootstrap——优秀的开源前端框架
Bootstrap是著名的社交网站、微博的先驱Twitter在2011年8月推出的开源WEB前端框架,集合CSS和HTML,使用了最新的浏览器技术,为快速WEB开发提供了一套前端工具包,包括布局、网格、表格、按钮、表单、导航、提示等等。使用Bootstrap可以构建出非常优雅的前端界面,而且占用资源非常小。
Bootstrap发布时间不长,但是已经非常成熟了,目前最新版本是2.0,包括完整的CSS编译和非编译版本,样例模板和Javascript插件。
历史
早期Twitter的前端工程师几乎采用了任何自己熟悉的库来应对前端的开发需求,这样的造成的问题就是维护和扩展非常困难。最终Bootstrap成为应对这些挑战的解决方案,并开始在Twitter内部迅速成长,被twitter.com广泛采用,形成了稳定版本。随着工程师对其不断的开发和完善,Bootstrap进步显著,不仅包括基本样式,而且有了更为优雅和持久的前端设计模式。2011年8月,Twitter将其开源,相关地址:http://twitter.github.com/bootstrap
使用Bootstrap构建优雅的Web Page
Bootstrap的核心就是基于Less框架构建的CSS。所以谈到Bootstrap,就必须得说说Less。
关于Less
Less是一个动态CSS语言框架,Less扩展了CSS的动态特性,相对于传统的CSS,Less提供了更为强大的功能和灵活性。基于Less,我们可以在编写CSS时使用嵌入式申明、变量、混合模式、运算和颜色编辑功能函数等。简单来说就是Less可以让你像编程一样编写CSS,把程序存储在后缀为less的文件中,Less提供了框架将其编译为标准的css文件。举个简单的例子,如果你想为多个样式设置同一个颜色,可以这样写:
|
1
2
3
4
5
6
7
|
@color: #FFFFFF; h1 { color: @color; } #sub{ color: @color; } |
编译后的css就是:
|
1
2
3
4
5
6
|
h1 { color: #ffffff; } #sub { color: #ffffff; } |
以上代码只是Less的最简应用。除了变量,还可以在CSS进行数学运算、传参、文件相互引用、规则嵌套等等。可以想象,这种编写CSS的方式会为前端开发带来多大的改变。无论是从灵活性、扩展性和可维护性上,Less都让CSS开发有了大幅提升,动态性增强了。
Less的官方网站是http://lesscss.org/,很奇怪这样的网站会被我党封掉,需要FQ才能访问。
编译Less的方式很简单,有两种方式,一种是在使用时编译。下载less.js,在样式中引用:
<link rel="stylesheet/less" type="text/css" href="less/mystyles.less">
<script src="js/less.js" type="text/javascript"></script>
注意要把样式文件放到js文件申明的前面。
还有一种方式是使用前编译好,可以通过服务器端的Node.js进行编译,也可以到这个网站http://incident57.com/less/下载Less.app,提供了GUI方式编译less文件,目前只支持Mac OS X。
关于Less的使用,似乎需要写另一篇文章进行介绍,这里就不做更多的描述了。
基于Less编译的Bootstrap
使用了Less的Bootstrap具备如下优点:
1、Bootstrap实现起来依旧很简单,使用也很简单,把Bootstrap.css拖入你的代码即可。编译less文件可以使用less.js,Less.app或Node.js等多种方案实现。
2、一旦编译,Bootstrap框架仅包含CSS文件,这意味着没有多余的图片、Flash或Javascript,只有用于Web应用开发的简洁而强大的CSS样式。
兼容性
目前Bootstrap的最新版本是2.0,支持几乎所有的主流浏览器,包括Safari、Chrome,Firefox、IE7.0及以上,最新版本还支持智能手机WebUI。
2.0的新特性
Bootstrap的版本更新很快,2011年11月刚发布了1.4,2012年2月份就再次放出新版本2.0,而且有了大幅改进。
2.0版本采用了更灵活也更受欢迎的12栏网格布局,并以此来实现其各种布局框架。增加了响应式设计,以适应各种移动终端的需求。完善和改进原有样式库,并提供更丰富的新样式,包括样式繁多的图标(icon),漂亮易用的进度条等。改进和增加了自定义jQuery插件,完善文档,修复bug,同时还提供了很多基于Bootstrap构建的网站样例。
已经使用1.4的开发者也不用担心,Bootstrap专门提供了从1.4升级到2.0的手工向导可以参考。
功能集合
Bootstrap2.0把现有框架进行了清晰的功能划分,主要分为框架(Scaffolding),基础CSS,构件库和jQuery插件库。
Scaffolding主要提供基于网格的各种布局,包括普通网格系统、嵌入式网格,固定布局、自适应布局,同时可以对网格和布局进行自定义。Bootstrap2.0提供了响应式设计,可以通过单个文件支持各种手持设备,自适应不同的设备和屏幕变化。
基础CSS包括各种排版样式(标题、段落、引用块、列表、内联标签等),代码展示方面提供了基于code标签的内嵌代码,基于pre的块代码和基于Google Prettify的代码样式。同时提供各种表格、表单、按钮、图标的展示方式。
构件库提供了基于按钮、导航、标签、排版、警告、进度栏、图像网格等控件。
jQuery插件库则提供了十几种插件实现动态效果,例如Modal、Dropdown、Tab、Tooltip、Popover、Carousel等,开发者可以根据自己的业务需求使用不同的插件实现各种动态效果。
Bootstrap——优秀的开源前端框架的更多相关文章
- Missra开源前端框架
Missra开源前端框架,官方网址:http://framework.missra.com
- 2015 年开源前端框架盘点 TOP 20
1.名称:Bootstrap 类别/语言:HTML.CSS.JavaScript 创建者: Twitter 人气:在Github上有91007 stars 描述:主流框架中毋庸置疑的老大,Bootst ...
- 2015年开源前端框架盘点TOP20
2015年,榜单根据github上star数作为排名依据.(榜单中大部分为组件式框架, react.Angular等基础框架不在此篇讨论) 1.Bootstrap 类别/语言:HTML.CSS.Jav ...
- 国内5款优秀的WEB前端框架
1. JX(腾讯) 官网地址:http://alloyteam.github.io/JX/#home JX 是一个类似 Google Closure Library 的 Web 前端开发框架,服务于 ...
- Github上最全的APICloud开源前端框架效果盘点(转)
1.微信网站几分钟变身“原生 App” 微信推出了微信JS-SDK,使微信公共号可以直接调用微信原生的接口,具备部分原生应用的能力.微信JS-SDK的推出,将大大提高微信公共号的 用户体验,但是如果存 ...
- JQ-bootstrap我的开源前端框架
因为实在不知道写啥,所以迟迟没有相关的介绍.但是必须要积累过程资产,所以还是介绍一下,不定哪天就有人用了. 首先还是介绍遇到的问题,我是做传统后台管理系统的,公司赶时髦,要用boo ...
- 阿里巴巴开源前端框架--Weex实践
Weex是最近很火很NB的一个技术产品,因为本篇介绍的是怎样使用Weex的最佳实践,所以就不罗里吧嗦的夸它怎么怎么好了,感兴趣的可以访问Weex HomePage,或加入旺旺群:1330170019. ...
- 进阶攻略|最全的前端开源JS框架和库
新的 Javascript 库层出不穷,从而Web 社区愈发活跃.多样.在多方面快速发展.详细去描述每一种主流的 Javascript框架和库近乎不可能,所以在这篇文章中主要介绍一些对前端发展最具影响 ...
- 为SpringMvc项目安装BootStrap和AngularJs前端框架
在我们"用SpringMVC写一个注册的小Demo"之前,我们学习一下如何给该项目安装Bootstrap和AngularJs的前端框架,这样我们就能轻松排版出漂亮的登录界面.我们采 ...
随机推荐
- Access导入Sql 2008 R2 错误 0xc020801c
在选择数据源界面: 数据源:Microsoft Access 文件名:选择要导入的文件 用户名:admin 密码:(空的) 猛击”高级“按钮 切到”高级“选项卡,访问权限设为 ReadWrite,去掉 ...
- PHP中Trait详解及其应用
w PHP中Trait详解及其应用 - 开发者日常 - SegmentFaulthttps://segmentfault.com/a/1190000008009455
- jq左右按钮点击幻灯片
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/ ...
- Java 面向对象之构造函数和 this 关键字
构造函数 this 关键字 1. 构造函数 class Person { private String name; private int age; // 定义一个 Person 类的构造函数 Per ...
- django 表单系统 之 forms.Form
继承forms.Form实现django表单系统 参考: https://www.cnblogs.com/zongfa/p/7709639.html https://www.cnblogs.com/c ...
- Vue(5)- axios、vuex
一.内容回顾 1.webpack(前端中工作,项目上线之前对整个前端项目优化) - entry:整个项目的程序入口(main.js或index.js): - output:输出的出口: - loade ...
- 【零基础学习iOS开发】【02-C语言】08-基本运算
一.算术运算符 算术运算符很地简单.就是小学数学里面的一些加减乘除操作.只是呢.还是有一些语法细节须要注意的. 1.加法运算符 + 1 int a = 10; 2 3 int b = a + 5; 在 ...
- (转)基于深度学习的目标检测技术演进:R-CNN、Fast R-CNN、Faster R-CNN
object detection我的理解,就是在给定的图片中精确找到物体所在位置,并标注出物体的类别.object detection要解决的问题就是物体在哪里,是什么这整个流程的问题.然而,这个问题 ...
- java 中JFinal getModel方法和数据库使用出现问题解决办法
JFinal getModel方法(从页面表单中获取Model对象)+数据库存储问题 一.getmodel方法 1.在JConfig配置类中的数据库映射(存储到数据库时需要此配置) public vo ...
- C/C++中浮点数输出格式问题
在C语言中,浮点数的输出格式有三种:%g, %f, %e 首先要说的是%e是采用科学计数法来显示. %g与后两者有一个重要的差别,就是设置输出精度的时候,(C中默认浮点输出精度是6),%g认为,包括整 ...