Bootstrap 4.3.0

@mdo 2019 年 2 月 11 日

Bootstrap v4.3 已发布,包含超过 120 个已关闭的问题和合并的拉取请求。此版本对我们的实用程序进行了改进,为迁移到 v5 的开发做了一些准备工作,以及标准的错误修复和文档更新。

在我们的上一个版本中,我们分享了关于项目下一步方向的简短预览。随着我们开始关注使用 Hugo 进行超快速文档开发、移除 jQuery 以支持普通 JavaScript 以及解决我们不断增长的代码库,这一方向变得越来越清晰。

继续阅读以了解 v4.3 的亮点,我们很快会分享更多关于 v5 的详细信息!

亮点

我们添加了一些新的实用程序并弃用了一些未使用的代码。以下是 v4.3 中的关键更改,按新增、改进、修复和弃用分类。

  • 新增:添加了 .stretched-link 实用程序,使任何锚点都与其最近的 position: relative 父级一样大,非常适合完全可点击的卡片!
  • 新增:添加了 .text-break 实用程序,用于应用 word-break: break-word
  • 新增: 添加了 .rounded-sm.rounded-lg 用于小型和大型 border-radius
  • 新增: 添加了 .modal-dialog-scrollable 修饰符类,用于在模态框中滚动内容。
  • 新增: 添加了响应式 .list-group-horizontal 修饰符类,用于将列表组显示为水平行。
  • 改进: 通过使用 null 来减少编译后的 CSS,用于默认从其他元素继承其值的变量(例如,$headings-color 以前是 inherit,现在是 null,直到你在自定义 CSS 中修改它)。
  • 改进: 徽章焦点样式现在与其 background-color 相匹配,就像我们的按钮一样。
  • 修复: 在我们的 JS 插件中,为 href HTML 属性静默了错误的选择器,以避免 JavaScript 错误。请尝试使用 有效选择器data-target HTML 属性/target 选项(如果可用)。
  • 修复: 恢复了 v4.2.1 对断点和网格容器 Sass 映射的更改,这些更改阻止了用户在修改这些默认变量时进行升级。
  • 修复: 恢复了 .dropdown-togglewhite-space: nowrap(在 v4.2.1 之前,它在所有 .btn 上),因此插入符号不会换行。
  • 已弃用: img-retinainvisiblefloatsize 混合器现在已弃用,将在 v5 中删除。

查看完整的 v4.3.0 发布清单GitHub 项目 以获取完整详细信息。

前往 v4.3.x 文档 以查看最新内容。完整版本已发布到 npm,并将很快出现在 Bootstrap CDN 和 Rubygems 上。

介绍响应式字体大小

Responsive font-sizes

Bootstrap 在 v4.3 中最大的新增功能是响应式字体大小,这是一个 Bootstrap GitHub 组织中的新项目,用于自动根据访问者设备或浏览器视窗的尺寸计算合适的 font-size。以下是它的工作原理

  • 所有 font-size 属性已切换到 @include font-size() 混合器。我们的 Stylelint 配置现在阻止使用 font-size 属性。

  • 默认情况下禁用,你可以通过切换 $enable-responsive-font-sizes 布尔变量来选择此新行为。

  • font-size 完全可以通过 Sass 配置。请务必阅读文档,了解如何修改比例、变量等。

虽然响应式字体大小默认情况下是禁用的,但我们从 v4.3 版本开始,在为我们的文档提供支持的自定义 CSS 中启用了它们。请通过 GitHub 问题或 Twitter 与我们分享您的反馈。我们在 我们的排版文档 中添加了一些简单的指导,以解释此功能。您也可以通过 阅读 rfs 项目文档 来了解更多信息。

Open Collective

去年 12 月,我们发布了我们的 Open Collective 页面,以及我们的 v3.4 版本,以帮助支持为 Bootstrap 做出贡献的维护者。团队对此感到非常兴奋,因为它可以透明地展示维护者的成本(包括时间和金钱),以及对努力的认可。

分支、Hugo 和 jQuery

在发布 v4.3 之后,我们将着手解决我们通往 v5 积极开发道路上的几个关键变化。这些是对我们维护和开发 Bootstrap 的方式的较大更改,被认为是 v5 的基础。

  • 改进我们的开发分支。master 将成为我们新的 v3-dev 分支。v4-dev 将保持原样,但我们将从那里切出一个新的 master 分支来开发 v5。

  • 我们正在迁移到 Hugo!Jekyll 一直很棒,但它开始在本地开发中减慢我们的速度。我们将对我们的依赖项进行更改以支持此迁移,并且已经有一个拉取请求正在进行中,并且即将完成更改。 关注 以了解正在发生的变化。

  • 我们正在放弃 jQuery,转而使用普通 JavaScript。秘密已经泄露——我们正在放弃我们最大的客户端依赖项,转而使用普通 JavaScript。与 Hugo 的迁移类似,我们已经在这个项目上工作了很长时间,并且有一个 正在进行的拉取请求,并且即将完成。

在解决完这些更大的问题后,我们将很快分享更多关于 v5 计划的信息。在此期间,请继续在 GitHub 和 Twitter 上提供反馈!