@mdo 2019 年 11 月 26 日
欢迎使用 Bootstrap 图标 ,这是我们第一个完全由我们团队设计并开源供所有人使用的图标集,无论是否使用 Bootstrap。它目前仍处于 alpha 阶段,但我们非常高兴能在 v5 alpha 之前与大家分享。
我一直想设计一个图标集,以便更好地学习如何使用不同的笔工具进行绘制,并更好地理解 SVG。在过去几个月里,我尝试了一些不同的应用程序,进行了近五次风格迭代,最终确定了一个方向。结果呢?超过 200 个图标,作为开始。
我已经在 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 不懈的努力,推动我们前进。
@mdo 2019年2月13日
今天,我们发布了 Bootstrap v4.3.1 和 v3.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 在今天发布版本上的快速响应。
@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 上。
介绍响应式字体大小
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 上提供反馈!
@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 中新增和更新的功能的亮点。
新增: 添加了一个新的 加载器组件 。
新增: 添加了新的 提示框组件 ,用于显示通知。
新增: 添加了一个新的 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
现在包含我们的 margin
和 padding
实用程序,以便完全控制我们的网格系统。
更新: 将自动列(例如 .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 成为一个很棒的项目和社区。