介绍 Bootstrap 图标

@mdo 2019 年 11 月 26 日

欢迎使用 Bootstrap 图标,这是我们第一个完全由我们团队设计并开源供所有人使用的图标集,无论是否使用 Bootstrap。它目前仍处于 alpha 阶段,但我们非常高兴能在 v5 alpha 之前与大家分享。

Bootstrap Icons docs

我一直想设计一个图标集,以便更好地学习如何使用不同的笔工具进行绘制,并更好地理解 SVG。在过去几个月里,我尝试了一些不同的应用程序,进行了近五次风格迭代,最终确定了一个方向。结果呢?超过 200 个图标,作为开始。

Bootstrap Icons full list

我已经在 Figma 中设计了这些初始图标,并将其导出为 SVG 格式。计划是在清理 Figma 文件并使图标集更加稳定后,公开分享该文件。虽然 Bootstrap 图标首先是为与 Bootstrap 的组件一起使用而设计的,但它们可以在任何地方使用。它们是一个完全独立的项目和包,与 Bootstrap 分开,因此您可以轻松地在任何项目中使用它们,或者在 Bootstrap 的 CSS 和 JavaScript 旁边使用任何其他图标集。

它们也是在 MIT 许可下开源的,因此您可以自由下载、使用和自定义它们。这目前是一个 alpha 版本,因此请耐心等待我们熟悉创建和管理数百个 SVG 的过程。随着时间的推移,将添加更多图标。

前往 https://icons.bootstrap.ac.cn 探索和下载!

介绍我们的长期支持计划

@mdo 2019 年 7 月 24 日

今天,我们正式宣布我们的 长期支持计划,这是一个旨在加强发布的稳定性和频率的文档化方法。作为该计划的一部分,Bootstrap 的每个主要版本在退役后至少会获得六个月的支持,然后是六个月的关键错误修复和安全更新。

从今天开始,Bootstrap 3 将进入生命周期结束阶段,并将不再接收关键安全更新。

Bootstrap 4 在我们发布 v4.4 后将进入长期支持阶段,从那时起将不再接收新功能。它将继续接收错误修复、安全更新和文档更新。

Bootstrap 5 正在积极开发中。您可以关注我们的进度 在 GitHub 上

特别感谢 @XhmikosR 不懈的努力,推动我们前进。

Bootstrap 3.4.1 和 4.3.1

@mdo 2019年2月13日

今天,我们发布了 Bootstrap v4.3.1v3.4.1 来修复一个 XSS 漏洞,CVE-2019-8331。v4.3.1 中还包含对 v4.3.0 中添加的一些 RFS(响应式字体大小)混合的少量修复。

本周早些时候,一位开发者报告了一个类似于在 v4.1.2 和 v3.4.0 中修复的 data-target 漏洞的 XSS 问题:我们 tooltip 和 popover 插件的 data-template 属性缺乏对可以传递到属性值中的 HTML 的适当 XSS 净化。

为了解决这个问题,我们实现了一个新的 JavaScript 净化器,只允许在数据属性中使用白名单中的 HTML 元素。您可以修改我们的净化实现以自定义 HTML 元素白名单,完全禁用净化,或传递您自己的净化函数(如果您使用自己的库,这很有用)。但是,为了增加保护,无法通过数据属性修改净化 - 您必须通过 JavaScript API 修改这些插件选项。

那些修改了默认模板的人,请 阅读新的 v4.3 净化器文档新的 v3.4 净化器文档

鉴于此漏洞,我们还将审核我们的安全报告工作流程,以确保它们是最新的。这将包括添加 SECURITY.md 文件到我们的存储库以及确保我们的私人渠道和流程是最新的,并与团队一起记录。

感谢 poiu 报告了 Bootstrap Drupal 项目 的漏洞,以及来自 Bootstrap Drupal 项目Mark Carver 负责任地向我们披露了这个问题。还要特别感谢我们团队的 @Johann-S@Xhmikosr@bardiharborow 在今天发布版本上的快速响应。

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 映射的更改,这些更改阻止了用户在修改这些默认变量时升级。
  • 修复: 恢复了 `white-space: nowrap` 到 `dropdown-toggle`(在 v4.2.1 之前,它在所有 `btn` 上),因此箭头不会换行。
  • 已弃用: `img-retina`、`invisible`、`float` 和 `size` 混合器现在已弃用,将在 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 上提供反馈!

Bootstrap 4.2.1

@mdo 2018年12月21日

全世界注意了,我们发布了 Bootstrap v4.2.1,其中包含大量新功能、错误修复和文档更新。在新增功能方面,我们有加载器、提示框、开关,以及(终于!)轮播中的触摸支持。但这只是冰山一角。

注意!v4.2.0 错误地发布到了 npm,因此我们不得不立即发布 v4.2.1 版本。现在 npm i bootstrap@latest 应该返回 4.2.1。对于由此造成的不便,我们深感抱歉!

我们把几个月的工作都塞进了 v4.2.1,自上次 v4.1.3 版本发布以来,我们已经提交了 400 多个代码。正如我们上周在 v3.4.0 版本发布中提到的那样,我们正在努力将我们的发布与我的直接参与分离,以提高发布频率。预计 2019 年将会有更多改进。

继续阅读以了解亮点,以及我们如何快速进入 v4.3,然后进入 v5(哇!)。

新增功能

以下是 v4.2.1 中新增和更新的功能的亮点。

Bootstrap toasts

  • 新增:添加了一个新的 加载器组件
  • 新增:添加了新的 提示框组件,用于显示通知。
  • 新增:添加了一个新的 iOS 风格的开关(我们自定义复选框的修饰类)。
  • 新增:在我们的轮播组件中添加了触摸支持。
  • 新增:添加了 .font-weight-lighter.font-weight-bolder 实用程序类。
  • 新增:添加了 .text-decoration-none 实用程序类。
  • 新增:添加了 .modal-xl 修饰类,用于我们的模态框。
  • 新增:添加了新的负边距实用程序类(例如,.mb-n3)。这些很棒的新类不仅允许您更好地控制一般的间距需求,还允许您在每个断点创建响应式网格间距。
  • 新增:经过验证的表单字段现在在 :invalid:valid 字段上具有反馈图标。使用 $enable-validation-icons 布尔 Sass 变量(默认为 true)禁用它们。
  • 新增:在我们的文档中添加了一个新的 版本页面
  • 新增: 工具提示/弹出框支持 Shadow DOM。
  • 更新: 重新设计了自定义复选框和单选按钮,以更明显地显示状态。
  • 更新: bootstrap-grid.css 现在包含我们的 marginpadding 实用程序,以便完全控制我们的网格系统。
  • 更新: 将自动列(例如 .col-auto)从 max-width: none 更改为 max-width: 100%,以防止内容导致列溢出父元素。
  • 更新: 改进了自定义选择、范围、文件输入等的渲染。

查看完整的 v4.2.0 发布清单GitHub 项目 以获取完整详细信息。接下来是 v4.3,其中包含一些错误修复、一些新的修饰符类和变量,以及一些新的实用程序。

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

下一步

我们已经计划了 v4.3,因此这是我们目前的重点。但是,在我们开发 v4-dev 分支时,我们将开始为 v5 版本制定计划。

Bootstrap 5 不会对代码库进行重大更改。虽然我几年前在 Twitter 上谈到了认真转向 PostCSS,但我们将在 v5 中继续使用 Sass。相反,我们将集中精力删除冗余代码,改进现有组件,并放弃旧浏览器和 jQuery 依赖项。我们对 v4.x 组件也有一些更新,如果不进行重大更改,我们就无法进行这些更新,因此 v5 对我们来说感觉时机正好。

敬请关注明年发布的 v5 计划预览。我们将通过问题进行分享,征求反馈,然后进入开发模式。

祝大家节日快乐,新年快乐!感谢大家继续让 Bootstrap 成为一个很棒的项目和社区。