Bootstrap4一次重大更新 几乎涉及每行代码


Posted in Javascript onMay 16, 2016

对Bootstrap来说去年8月19日是个特别的日子——不仅是项目四周年纪念日,也是经过了一年密集开发之后发布Bootstrap 4内测版的日子。Bootstrap 4是一次重大更新,几乎涉及每行代码。

1、新增功能

Bootstrap4一次重大更新 几乎涉及每行代码

Bootstrap 4中有太多重大的更新,本文不能面面俱到,下面是一些颇受关注的亮点:

从Less迁移到Sass: 现在,Bootstrap已加入Sass的大家庭中。得益于Libsass,Bootstrap的编译速度比以前更快;
改进网格系统:新增一个网格层适配移动设备,并整顿语义混合。
支持选择弹性盒模型(flexbox):这是项划时代的功能——只要修改一个Boolean变量,就可以利用flexbox的优势快速布局。
废弃了wells、thumbnails和panels,使用cards代替:Cards是个全新概念,但使用起来与wells、thumbnails及panels很像,且更方便。
将所有HTML重置样式表整合到Reboot中:在用不了Normalize.css的地方可以用Reboot了,它提供了更多选项。例如box-sizing: border-box、margin tweaks等都存放在一个单独的 Sass 文件中。
新的自定义选项:不再像上个版本一样,将渐变、淡入淡出、阴影等效果分放在单独的样式表中。而是将所有选项都移到一个Sass变量中。想要给全局或考虑不到的角落定义一个默认效果?很简单,只要更新变量值,然后重新编译就可以了。
不再支持IE8,使用rem和em单位:放弃对IE8的支持意味着开发者可以放心地利用CSS的优点,不必研究css hack技巧或回退机制了。使用rem和em代替px单位,更适合做响应式布局,控制组件大小。如果要支持IE8,只能继续用Bootstrap 3。
重写所有JavaScript插件:为了利用JavaScript的新特性,Bootstrap 4用ES6重写了所有插件。现在提供UMD支持、泛型拆解方法、选项类型检查等特性。
改进工具提示和popovers自动定位:这部分要感谢Tether工具的帮助。
改进文档:所有文档以Markdown格式重写,添加了一些方便的插件组织示例和代码片段,文档使用起来会更方便,搜索的优化工作也在进行中。
更多变化:支持自定义窗体控件、空白和填充类,此外还包括新的实用程序类等。
以上更新只是冰山一角, v4版共有1100多次commits和 12万行代码更新,这些更新可以在v4-alpha文档中查看。

2、开发计划

v4版本所有的源代码都在Github的v4-dev分支上开源。此外,还有一个v4开发和跟踪pr ,公布master的changes列表和待开发列表。大家可以贡献自己的代码,来让这个项目变得更好。

总体的开发和发布计划如下:

还会在不断改进中发布几个alpha版本; 新特性和新功能冻结之后发布两个Beta版本进行充分测试; 发布 2 个候选版本,测试是否能用于生产环境; 发布最终版本。

Slack上还有个专门讨论v4的频道,Bootstrapers可以点击这里加入。

3、支持v3

发布Bootstrap 3时,Bootstrap曾放弃了对2.x版本的支持,给很多用户造成了麻烦,同样的错误不会犯第二次。在不久的将来,开发团队还会继续修复v3的bug,改进文档。v4最终发布之后,v3的文档也不会下线。

4、One more thing……

除了发布Bootstrap 4 alpha外,官方还发布了Bootstrap主题。

Bootstrap4一次重大更新 几乎涉及每行代码这些主题耗费的精力很大,它们自己就有很多工具集,和Bootstrap本身一样。

作为开始,发布的主题有: dashboard, application,和marketing,使用multiple-use license 协议。

点击这里查看更多主题信息。

5、反馈

1)有人提到,在v3.5.5(最后的稳定版本)中,bootstrap.min.css是123KB,而在新的4.0.0alpha bootstrap.min.css 中只有88KB,值得庆祝。

2)有人反馈说dashboard主题并不是完完全全的响应式,比如在tables->order history中。

3)Bootstrap改成默认使用Sass,引起了广泛的讨论。

4)也有人表示,一个组织愿意放弃旧技术(不再支持IE8)用新技术(ES6)来重写库,值得尊敬。

如果大家还想深入学习,可以点击这里进行学习,再为大家附3个精彩的专题:

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
javascript arguments 传递给函数的隐含参数
Aug 21 Javascript
window.open关于浏览器拦截问题分析及解决方法
Feb 05 Javascript
JQuery的read函数与js的onload不同方式实现
Mar 18 Javascript
js算法中的排序、数组去重详细概述
Oct 14 Javascript
JS 实现BASE64_ENCODE和BASE64_DECODE(实例代码)
Nov 13 Javascript
Vue2.0使用过程常见的一些问题总结学习
Apr 10 Javascript
ES6中Array.find()和findIndex()函数的用法详解
Sep 16 Javascript
Node Puppeteer图像识别实现百度指数爬虫的示例
Feb 22 Javascript
细说Vue组件的服务器端渲染的过程
May 30 Javascript
vue移动端实现手机左右滑动入场动画
Jun 17 Javascript
javascript设计模式 ? 享元模式原理与用法实例分析
Apr 15 Javascript
prettier自动格式化去换行的实现代码
Aug 25 Javascript
JS获取元素多层嵌套思路详解
May 16 #Javascript
怎么限制input的text里输入的值只能是数字(正则、js)
May 16 #Javascript
BootStrap点击下拉菜单项后显示一个新的输入框实现代码
May 16 #Javascript
在javascript中创建对象的各种模式解析
May 16 #Javascript
Bootstrap3 input输入框插入glyphicon图标的方法
May 16 #Javascript
论Bootstrap3和Foundation5网格系统的异同
May 16 #Javascript
Javascript基础教程之比较null和undefined值
May 16 #Javascript
You might like
PHPMailer 中文使用说明小结
2010/01/22 PHP
比较全面的PHP数组的使用方法小结
2010/09/23 PHP
php实现telnet功能示例
2014/04/08 PHP
php面向对象重点知识分享
2019/09/27 PHP
基于jquery的一个OutlookBar类,动态创建导航条
2010/11/19 Javascript
javascript中强制执行toString()具体实现
2013/04/27 Javascript
css结合js制作下拉菜单示例代码
2014/02/27 Javascript
node.js中的events.emitter.once方法使用说明
2014/12/10 Javascript
整理Javascript基础语法学习笔记
2015/11/29 Javascript
js select实现省市区联动选择
2020/04/17 Javascript
jQuery插件zTree实现获取当前选中节点在同级节点中序号的方法
2017/03/08 Javascript
全面解析Node.js 8 重要功能和修复
2017/06/02 Javascript
前端跨域的几种解决方式总结(推荐)
2017/08/16 Javascript
简单实现jQuery手风琴效果
2017/08/18 jQuery
详解Angular系列之变化检测(Change Detection)
2018/02/26 Javascript
Vue表单类的父子组件数据传递示例
2018/05/03 Javascript
nuxt.js 缓存实践
2018/06/25 Javascript
layer设置maxWidth及maxHeight解决方案
2019/07/26 Javascript
vue表单数据交互提交演示教程
2019/11/13 Javascript
[54:53]完美世界DOTA2联赛PWL S2 GXR vs PXG 第二场 11.18
2020/11/18 DOTA
Python中多线程的创建及基本调用方法
2016/07/08 Python
python3.6+opencv3.4实现鼠标交互查看图片像素
2018/02/26 Python
高效使用Python字典的清单
2018/04/04 Python
python3.7.0的安装步骤
2018/08/27 Python
python实现在cmd窗口显示彩色文字
2019/06/24 Python
Python tkinter布局与按钮间距设置方式
2020/03/04 Python
Python自定义聚合函数merge与transform区别详解
2020/05/26 Python
Django 权限管理(permissions)与用户组(group)详解
2020/11/30 Python
详解Selenium 元素定位和WebDriver常用方法
2020/12/04 Python
屈臣氏菲律宾官网:Watsons菲律宾
2020/06/30 全球购物
《两个铁球同时着地》教学反思
2014/02/13 职场文书
《小小雨点》教学反思
2014/02/18 职场文书
党的群众路线教育实践活动总结报告
2014/07/03 职场文书
就业推荐表自我评价范文
2015/03/02 职场文书
Python3.10的一些新特性原理分析
2021/09/15 Python
python中pymysql包操作数据库方法
2022/04/19 Python