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

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

1、新增功能

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主题。

这些主题耗费的精力很大,它们自己就有很多工具集,和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个精彩的专题:

Bootstrap学习教程

Bootstrap实战教程

Bootstrap插件使用教程

时间: 2024-11-05 04:48:03

Bootstrap4一次重大更新 几乎涉及每行代码_javascript技巧的相关文章

动态更新highcharts数据的实现方法_javascript技巧

动态更新highcharts数据的实现方法 <!doctype html> <html> <head> <script type="text/javascript" src="http://cdn.hcharts.cn/jquery/jquery-1.8.3.min.js"></script> <script type="text/javascript" src="htt

javascript的动态加载、缓存、更新以及复用(一)_javascript技巧

使用范围: OA.MIS.ERP等信息管理类的项目,暂时不考虑网站. 遇到的问题: 完成一个项目,往往需要引用很多js文件,比如jQuery.js.easyUI等.还有自己写的一些列js文件,那么这些文件如何方便的加载,如果文件有变化如何才能让客户端及时更新缓存?如果能够提高点运行效率,那就更好了. 目标: 1.  可以方便的引用js文件. 2.  尽量使用各种缓存,避免频繁从服务器读取文件. 3.  如果js文件有更新或者增加.减少几个减少js文件,需要客户端能够自动.立刻更新. 4.  Js

动态载入/删除/更新外部 JavaScript/Css 文件的代码_javascript技巧

动态载入 JavaScript/Csss 文件 传统加载外部JavaScript(*.js) 或者 Css(*.css)文件的方法是直接在<head>标签里面进行添加: 复制代码 代码如下: <head> <script type="text/javascript" src="myscript.js"></script> <link rel="stylesheet" type="te

Javascript 更新 JavaScript 数组的 uniq 方法_javascript技巧

上次写的一篇<JavaScript 数组的 uniq 方法>,发现代码的问题还是存在.比如如果数组内有 undefined 元素就无法过滤等. 昨天看见 Lazy 兄弟重新更新了函数,现在他是这样子写的: Array.prototype.uniq = function() {     var resultArr = [],         returnArr = [],         origLen = this.length,         resultLen;     function

键列信息不足或不正确,更新影响到多行 的解决方法

有一次直接通过MMC进行某表的复制粘贴操作,后台修改内容时提示:键列信息不足或不正确,更新影响到多行,经过多次尝试,终于找到解决方法! 一个解决 键列信息不足或不正确,更新影响到多行 的解决方法. 那就是在设计表功能里,先把ID索引的列删除掉.然后点击保存表. 接着再重新建立一个新的ID主键标识字段,这个时间,就可以任意修改或删除刚才出错的表内容了. 如果你想修正ID列,那也只要把该列的标识和主键属性先去掉,修改完成后重新赋予就行了. 千万不要写重复了就可以! 试试解决这个问题吧:键列信息不足或

使用NetBeans IDE执行创建、检索、更新和删除数据库行的Web应用程序

本教程介绍如何使用 NetBeans IDE 6.5 和 JSF 1.2 (Woodstock) 组件构建 能够创建.检索.更新和删除数据库行的 Web 应用程序.该应用程序提供了一个 主数据下拉列表和一个同步的详细信息表.该应用程序的用户能够从关联数据库 添加.更新和删除详细信息表中的记录. 本教程使用的概念在更基本的教程中有介绍.如果您对 IDE 及其设 计组件尚未有基本的了解,请先阅读一些介绍性教程,如可视化 Web JSF 应用程 序开发入门和使用数据绑定组件访问数据库. 预计时间:45

页面实时更新时间的JS实例代码

 这篇文章主要介绍了页面实时更新时间的JS实例代码,有需要的朋友可以参考一下  代码如下: function startTime() {                      var today = new Date(); //定义日期对象                         var yyyy = today.getFullYear(); //通过日期对象的getFullYear()方法返回年                          var MM = today.get

使用Ajax局部更新Razor页面的实例代码

Razor功能非常强大,但是本身并不能做到无刷新,所以需要配合ajax使用 本文就做一个简单例子,实现Razor配合ajax做到局部刷新. 首先,我们创建一个MVC项目 让我们创建一个简单的Controller Book 然后对其添加一个视图,并且添加上一些简单的Html代码 @{ ViewBag.Title = "Index"; Layout = null; } <!DOCTYPE html> <html> <head> <meta http

android-Android SqlLite 更新最后的插入行

问题描述 Android SqlLite 更新最后的插入行 关于插入的代码: public long insert(String content, Date startAt, Date endAt) { if (content == null || startAt == null) { return 0; } ContentValues contentValues = new ContentValues(); contentValues.put(KEY_CONTENT, content); co