bootstrap是什么_动力节点Java学院整理


Posted in Javascript onJuly 14, 2017

Bootstrap 是由两个 twitter 员工开发并开源的前端框架,目前已经到了 2.0.4 的版本,在 Github 上面有 32517个 watch,和 6608个 fork。非常火爆,而如此火爆自然有它的道理,在我们团队的所有项目中正全面推行使用 Bootstrap,我想根据自己的实际使用体验来说明一下为什么要用 Bootsrap。

twitter 出品

首先,Bootstrap 出自 twitter,大厂出品,并且开源,自然久经考验,减少了测试的工作量。站在巨人的肩膀上,不重复造轮子。

同时,Bootstrap 的代码有着非常良好的代码规范,从中也可以学习到很多,在 Bootstrap 的基础之上创建项目,日后代码的维护也变得异常简单清晰。

基于 Less、丰富的 Mixin

如果你不知道 Sass 或者 Less 这样的 CSS 预处理技术,我只能说你实在太落伍了,建议你先去了解之。

Bootstrap 的一大优势就是它是基于 Less 打造的,并且也有 Sass版本。正因为如此,它一推出就包含了一个非常实用的 Mixin 库任你调用。

举个很简单的例子,当你平时要用到一些 css3 属性的时候,你要写不同的浏览器写不同的 -prefix-,比如圆角 border-radius :

-webkit-border-radius: 10px;
-moz-border-radius:10px;
-border-radius:10px;

但是通过 Bootstrap 给你预设好的 mixin,你直接写成这样就可以了:

@include border-radius (10px);

是不是轻松愉快?基本常用的 CSS3 mixin 都帮你整理好了,你都直接调用就可以了,在此不一一举例。 Bootstrap 是目前最好的基于 Less(Sass) 的前端框架,丰富而实用的 Mixin 应该是其最好的地方。

可以 Responsive 的栅格系统

Bootstrap 的 栅格 (Grid) 系统也很先进,整个 Grid 系统是可以 Responsive 的!

Bootstrap 已经帮你搭好了实现 Responsive Design 的基础框架,并且非常容易修改。如果你是一个新手,Bootstrap 可以帮助你在非常短的时间内上手 Responsive Design。

丰富的组件

Bootstrap 的HTML组件 和 Js组件 非常丰富,并且代码简洁,非常易于修改,你完全可以在其基础之上修改成自己想要的任何样子。这是工作效率的极大提升。

插件

另外、由于 Bootstrap 的火爆,又出现了不少围绕 Bootstrap 而开发的插件。其中最实用的莫过于 Font Awesome 了。它是一套 icon font,提供了丰富的 icon 给你选择,新的 2.0 版又根据网友的意见增加了70个新的 icon。

在现在一股有 Apple 带领的 Retina 潮流下,对图片的视网膜屏下的解决方案已经变得越来越有必要了,而在 icon 这个东西上,icon font 是完美的解决方案,不用担心分辨率的问题,因为它实际上是字体。

以上

这些就是为什么要用 Bootstrap 的原因,目前市面上没有任何其他框架可以和它相媲美,但是它就虽然是一匹好马,你还是需要花费一些时间去学习它、适应它,它在日后给你带来的便利性是无可比拟的,你会后悔自己为什么没有早点接触它。

一些题外话

我不喜欢用框架,我喜欢原生的写法

这是我在给别人推荐 Bootstrap 的时候最常听到的话,我只能说,Bootstrap 并不能帮你完成所有事情,它只是一个的框架,在这个框架上面你依旧可以任意的发挥,并且发挥得更好,但是前提是你要驾驭得了它。

如果你不够熟悉它,你确实是有时候会被它有所牵绊,但是你熟悉了之后发现了其实它没有对你进行任何限制,这需要一个过程。

是给无设计师的团队或者程序员用的

对此我真的是无力吐槽,Bootstrap 的开发者就在他的博客上抱怨过,为什么出来那么一堆完全照搬 Bootstrap 样式的网站。
记住、完全用 Bootstrap 的样式只会让人心生厌烦。

Javascript 相关文章推荐
jquery获取tr中控件值并操作tr实现思路
Mar 27 Javascript
input链接页面、打开新网页等等的具体实现
Dec 30 Javascript
Bootstrap实现登录校验表单(带验证码)
Jun 23 Javascript
vue-router 权限控制的示例代码
Sep 21 Javascript
vue项目上传Github预览的实现示例
Nov 06 Javascript
详解IOS微信上Vue单页面应用JSSDK签名失败解决方案
Nov 14 Javascript
微信小程序中显示倒计时代码实例
May 09 Javascript
vue 自动化路由实现代码
Sep 03 Javascript
解决vue单页面应用进入页面加载所有 js 的问题
Aug 12 Javascript
js+css实现扇形导航效果
Aug 18 Javascript
vue中实现点击变成全屏的多种方法
Sep 27 Javascript
在Vue中使用Viser说明(基于AntV-G2可视化引擎)
Oct 28 Javascript
bootstrap精简教程_动力节点Java学院整理
Jul 14 #Javascript
简单实现js轮播图效果
Jul 14 #Javascript
JS获取填报扩展单元格控件的值的解决办法
Jul 14 #Javascript
Vue学习笔记进阶篇之过渡状态详解
Jul 14 #Javascript
微信小程序开发之animation循环动画实现的让云朵飘效果
Jul 14 #Javascript
使用OPENLAYERS3实现点选的方法
Sep 24 #Javascript
vue component组件使用方法详解
Jul 14 #Javascript
You might like
《APMServ 5.1.2》使用图解
2006/10/23 PHP
PHP开发框架总结收藏
2008/04/24 PHP
PHP加密扩展库Mcrypt安装和实例
2013/11/10 PHP
PHP 输出缓冲控制(Output Control)详解
2016/08/25 PHP
php+ajax简单实现全选删除的方法
2016/12/06 PHP
PHP正则判断一个变量是否为正整数的方法
2019/02/27 PHP
驱动事件的addEvent.js代码
2007/03/27 Javascript
jQuery EasyUI API 中文文档 - PropertyGrid属性表格
2011/11/18 Javascript
JS简单实现城市二级联动选择插件的方法
2015/08/19 Javascript
JavaScript DOM 学习总结(五)
2015/11/24 Javascript
微信小程序城市定位的实现实例(获取当前所在国家城市信息)
2017/05/17 Javascript
深入理解ES6之数据解构的用法
2018/01/13 Javascript
实战node静态文件服务器的示例代码
2018/03/08 Javascript
angularjs 缓存的使用详解
2018/03/19 Javascript
vue实现codemirror代码编辑器中的SQL代码格式化功能
2019/08/27 Javascript
js实现整体缩放页面适配移动端
2020/03/31 Javascript
vue+element-ui表格封装tag标签使用插槽
2020/06/18 Javascript
[01:05:32]DOTA2上海特级锦标赛主赛事日 - 3 败者组第三轮#1COL VS Alliance第一局
2016/03/04 DOTA
py中的目录与文件判别代码
2008/07/16 Python
Python实现的生成自我描述脚本分享(很有意思的程序)
2014/07/18 Python
使用Python抓取模板之家的CSS模板
2015/03/16 Python
Python实现监控程序执行时间并将其写入日志的方法
2015/06/30 Python
Python查找最长不包含重复字符的子字符串算法示例
2019/02/13 Python
python3.6使用tkinter实现弹跳小球游戏
2019/05/09 Python
浅谈keras的深度模型训练过程及结果记录方式
2020/01/24 Python
Python3搭建http服务器的实现代码
2020/02/11 Python
jupyter notebook远程访问不了的问题解决方法
2021/01/11 Python
html5的input的required使用中遇到的问题及解决方法
2018/04/24 HTML / CSS
Chemist Warehouse官方海外旗舰店:澳洲第一连锁大药房
2017/08/25 全球购物
输入一行文字,找出其中大写字母、小写字母、空格、数字、及其他字符各有多少
2016/04/15 面试题
研究生自荐信
2013/10/09 职场文书
大学自主招生自荐信范文
2014/02/26 职场文书
大学生工作自荐书
2014/06/16 职场文书
JavaScript+HTML实现学生信息管理系统
2021/04/20 Javascript
关于React Native 无法链接模拟器的问题
2021/06/21 Javascript
JS setTimeout与setInterval的区别
2022/04/20 Javascript