Bootstrap 2.0.3 发布

@mdo 2012 年 4 月 24 日

今天我们发布了 Bootstrap 2.0.3,这是一个 bug 修复版本,旨在修复尽可能多的回归和文档错误。在 GitHub 上的 2.0.3 里程碑 中,有近 100 个已关闭的问题,但以下列出了最重要的修复,并对更改内容进行了清晰的解释。

Makefile

为了不断改进 LESS 功能和构建工具,我们更新了 makefile 以使用 JSHintRecess,它们分别是 JavaScript 和 CSS 的代码检查工具。要继续通过终端运行 make,请执行以下操作

npm install -g recess jshint

我们还从仓库中移除了 bootstrap.zip 文件,因此 make 运行速度更快,因为它不需要压缩任何文件。有关更多信息,请参阅 更新的 readme

HTML 和 CSS

  • 彻底修改了响应式实用程序类,以简化所需的 CSS,为所有声明添加 !important,并使用 display: inherit 代替 display: block 来处理不同类型的元素。
  • 从流体网格列选择器中删除了 >,这意味着 .row-fluid 中所有具有 .span* 类的元素都将使用百分比宽度而不是固定像素。
  • 修复了自 2.0.1 版本以来响应式图像支持的回归问题。我们已默认将 max-width: 100%; 重新添加到图像中。我们在上一个版本中删除了它,因为有些人抱怨 Google 地图集成和其他项目,但我们现在对这些事情采取了不同的立场,并将要求开发人员在他们自己的项目中进行这些调整。
  • 添加了变量 @navbarBrandColor 用于导航栏中的品牌元素,默认值为 @navbarLinkColor
  • 字体族混合器现在使用变量来表示它们的堆栈。
  • 修复了 .reset-filter() 混合器中未转义的 filter,该问题会导致某些错误,具体取决于您的编译器。
  • 修复了 .form-actions 背景的回归问题,该背景太暗,通过添加一个新的变量 @formActionsBackground 并将颜色更改为 #f5f5f5 而不是 #eee 来解决。
  • 修复了按钮组下拉菜单中背景颜色在下拉菜单打开时未使用按钮的较暗颜色问题。
  • 泛化并简化了打开的下拉菜单类,同时添加了更智能的默认值。我们现在不再使用 .dropdown.open,而是使用 .open。在默认值方面,所有下拉菜单现在都默认具有圆角。
  • 通过加深背景颜色和锐化内阴影以匹配按钮的活动状态,改进了活动 .dropdown-toggle 样式(用于下拉按钮)。
  • 进度条动画方向反转。
  • 修复了不可编辑输入的输入前缀/后缀问题:.uneditable-input 被浮动,并且缺少逗号导致其后缀选项的 border-radius 未正确应用。
  • img 中删除了 height: auto;,因为它覆盖了通过 HTML 属性设置的尺寸。
  • 修复了带标题或列组的表格顶部出现双边框的问题。
  • 修复了 .navbar-text 中锚按钮的问题。我们不再对具有该类的元素中的所有锚进行通用样式设置,而是添加了一个新类来专门应用适当的链接颜色。
  • 为品牌/项目名称和导航链接添加了对 @navbarHeight 的支持,以实现完整的导航栏高度自定义。
  • 通过删除边框、增加行高并提供更深的背景颜色,修复了 IE7 中按钮出现黑色边框的问题。
  • 删除了 IE7 中 .search-query 输入的额外填充,因为它没有边框半径。
  • 更新了组件中的警报消息,使用 button 元素作为关闭图标,而不是 a。两者都可以使用,但 a 需要 href="#" 才能在 iOS 设备上关闭。
  • 修复了 Firefox 中前缀/后缀输入的问题,其中 select 元素需要点击两次才能切换下拉菜单。通过将 position: relative 默认移动到 select 而不是 :focus 来解决。
  • 添加了一个新的混合器 .backface-visibility,以帮助细化 CSS 3D 变换。有关用法示例和说明,请访问 CSS Tricks
  • 更改了 767px 下响应式布局中网格类的特异性,以准确地定位使用 .span* 类的 inputselecttextarea 元素。
  • 水平描述列表 .dl-horizontal 现在会截断过长而无法在其固定宽度列中显示的术语。在 < 767px 响应式布局中,它们会更改为默认的堆叠布局。
  • 更改了可选项卡,以防止左对齐和右对齐选项卡出现问题。由于 display: table.tab-content 不会扩展到其父元素的全部宽度。我们删除了它和 width: 100%,而是只设置了 overflow: auto 来清除左对齐和右对齐的选项卡。
  • 更新了缩略图以支持流体网格列大小调整。
  • 在大多数按钮组选择器中添加了 >
  • 添加了一个新变量 @inputBorderRadius,用于所有以前使用静态 3px 值的表单控件。
  • 更改了我们对表格进行 border-radius 的方式。我们不再使用将所有其他角归零的常规混合器,而是只指定一个角,以便它们可以组合起来用于单列表格标题。
  • 将 Glyphicons Halflings 从 1.5 更新到 1.6,引入了 20 个新图标。
  • .makeColumn 中添加了一个 offset 参数。
  • 将所有可选项导航选择器的特异性提高到包含.nav-collapse,以适当地限定响应式导航栏的行为。
  • 修复了不可编辑的输入:文本现在被截断,不会换行,使其行为与默认的input相同。
  • 标签和徽章现在是vertical-align: baseline;,因此它们与周围的文本对齐。

JavaScript

  • 添加 jshint 支持
  • 添加 travis-ci 支持,并集成无头 Phantom
  • 替换 bootstrap-transitions.js 中的 UA 探测
  • 向过渡插件添加 MSTransitionEnd 事件
  • 修复轮播中的暂停方法(当鼠标悬停在控件上时不应该重新启动)
  • 修复 Opera 中的疯狂错误 #1776
  • 如果目标元素被禁用,则不要打开下拉菜单
  • 如果到达文档或元素的底部,始终选择滚动间谍中的最后一项
  • 类型提示应该转义正则表达式特殊字符
  • 如果轮播的间隔为 false,则不要自动循环
  • 为所有初始事件类型(show、close、hide 等)添加 preventDefault 支持
  • 修复 ie7+ 中的折叠错误,用于初始折叠
  • 修复嵌套折叠错误
  • 如果正在过渡折叠,则不要开始新的过渡
  • 尝试自动检测何时在工具提示/弹出窗口中使用 html/text 方法,以帮助防止 XSS
  • 将 bootstrap + bootstrap.min.js 添加到 gh-pages,以支持 @remy 和 jsbin

文档和仓库

  • 将徽章和标签合并到单个 LESS 文件 badges-labels.less 中,以减少重复的 CSS。
  • 将响应式功能分离到多个文件中。我们现在为每个媒体查询分组(平板电脑及以下、平板电脑到桌面和大型桌面)都有一个文件。此外,可见/隐藏实用程序类和响应式导航栏在它们自己的文件中。输出在编译后的 CSS 中是相同的,但这应该为人们提供更多灵活性。
  • 在文档中添加了一个新的 CSS 测试页面(不在顶部导航中),用于更好地测试边缘情况并扩展标准组件的使用。
  • 从仓库和 make 过程中删除了 bootstrap.zip 文件,以加快构建速度并减轻仓库负担。从现在开始,zip 文件只会在文档分支中。
  • 修复了标签示例中类而不是 ID 的错误使用,并添加了有关多种切换标签方法的文档。
  • 修复了为专门的导航栏搜索字段列出的必需标记。
  • 删除了所有对@siteWidth的提及,这是一个不再使用的变量。
  • 删除了对未使用变量 @buttonPrimaryBackground 的引用,该变量不再使用。
  • 更新了 LESS 文档页面,以包含我们在先前版本中添加的所有新变量。
  • 从选项卡和药丸示例中删除了损坏的“下拉”菜单(本来就不应该存在)。
  • .badge-error 替换为 .badge-important。错误选项不是有效的类,并且是文档中的拼写错误。
  • 修复了关于如何将纯文本添加到导航栏的说明。之前文档指出你只需要一个 p 标签,但所需的 HTML 是任何具有 .navbar-text 类的元素。
  • 澄清了 .tabbable 在选项卡中的使用。包装类仅在左右选项卡上需要,以清除它们的浮动。还添加了对 .fade 的提及,以淡入选项卡。
  • 更新了表单文档
    • 删除了第一个示例中不必要的重复帮助文本
    • 添加了对必需 input.search-query 的提及,用于搜索表单变体
    • 删除了关于表单字段最初为 display: block; 的不正确说明,因为字段最初为 inline-block
  • 添加了对下拉菜单 JavaScript 插件的 data-target 属性的提及,以说明如何在具有 .dropdown-toggle 类的链接上保持自定义 URL 完好无损。
  • 更新了主页上的 Kippt 截图,以反映他们最近的响应式重新设计和升级到 2.0.2。

我们正在不断更新问题并在 2.1 里程碑 中跟踪它们,该里程碑将专注于添加一些新功能并解决此版本中不可避免的错误和边缘情况。