阅读(2381) (2)

Bootstrap5 浏览器和移动设备的支持情况

2021-08-30 17:23:54 更新

了解 Bootstrap 所支持的新和旧的浏览器和设备,以及每种浏览器和设备的已知问题和 bug。

支持的浏览器

Bootstrap 支持所有主流浏览器和平台的 最新、稳定版本。

对于其它使用了最新版本的 WebKit、Blink 或 Gecko 内核的浏览器,或者直接或间接调用了平台的 web view API,都不是明确被支持的。但是,Bootstrap 应该(大多数情况下)在这些浏览器中是能够正常显示和运行的。下面列出了更具体地支持情况。

你可以在 .browserslistrc 文件 中找到 Bootstrap 所支持地浏览器及版本列表:

# https://github.com/browserslist/browserslist#readme

>= 0.5%
last 2 major versions
not dead
Chrome >= 60
Firefox >= 60
Firefox ESR
iOS >= 12
Safari >= 12
not Explorer <= 11

我们使用 Autoprefixer 来自动添加特定于浏览器厂商地 CSS 属性前缀,并使用 Browserslist 来对浏览器地版本进行管理。请查阅这些工具各自地文档,以了解如何将这些工具集成到你的项目中。

移动设备

一般来说,Bootstrap 支持每个主要平台上的默认浏览器的最新版本。请主要,基于代理(proxy)模式的浏览器(例如 Opera Mini、Opera Mobile’s Turbo mode、UC Browser Mini、Amazon Silk,这些浏览器自身并不具备完整的页面渲染能力)是不被支持的。

Chrome Firefox Safari Android Browser & WebView
Android 支持 支持 v6.0+
iOS 支持 支持 支持

桌面浏览器

同样,大多数桌面浏览器的最新版本是被支持的。

Chrome Firefox Microsoft Edge Opera Safari
Mac 支持 支持 支持 支持 支持
Windows 支持 支持 支持 支持

对于 Firefox 浏览器,除了最新的常规稳定版本外,我们还支持最新的 Extended Support Release (ESR) 版本。

虽然 Bootstrap 在 Chromium、Linux 版 Chrome、Linux 版 Firefox 上也表现地很不错,但这些浏览器或版本是不被 Bootstrap 官方支持的。

IE 浏览器

Bootstrap v5 版本不支持 IE 浏览器! 如果你需要支持 IE,请使用 Bootstrap v4 版本。

移动设备上的模态和下拉菜单

溢出和滚动

在 iOS 和 Android 的​<body>​元素中​overflow: hidden;​支持非常有限。因此,当您在任一设备的浏览器的​<body>​中滚动浏览模式的顶部或底部时,内容将开始滚动。请参阅Chrome 错误 #175502(已在 Chrome v40 中修复)和WebKit 错误 #153852

iOS 文本字段和滚动

从 iOS 9.2 开始,当模态打开时,如果滚动手势的初始触摸在文本​<input>​或 ​<textarea>​的边界内,​<body>​模态下方的内容将被滚动,而不是模态本身。请参阅WebKit 错误 #153856

导航栏下拉菜单

由于 z-indexing的复杂性,​.dropdown-backdrop​元素未在 iOS 的导航中使用。因此,要关闭导航栏中的下拉菜单,您必须直接单击下拉元素(或在 iOS 中将触发单击事件的任何其他元素)。

浏览器缩放

页面缩放不可避免地会在某些组件中呈现渲染工件,无论是在 Bootstrap 还是在 Web 的其余部分。根据问题,我们或许能够修复它(先搜索,然后在需要时打开问题)。然而,我们往往会忽略这些,因为它们通常没有直接的解决方案。只能用一些hacky方法才能解决。

验证器

为了给旧的和有问题的浏览器提供最佳体验,Bootstrap在几个地方使用CSS browser hacks,将特殊 CSS 定位到某些浏览器版本,以便解决浏览器本身的错误。这些 hack 导致 CSS 验证器抱怨它们是无效的,这是可以理解的。在一些地方,我们还使用了尚未完全标准化的前沿 CSS 功能,但这些功能仅用于渐进式增强。

这些验证警告在实践中并不重要,因为我们 CSS 的非 hacky 部分会完全验证,并且 hacky 部分不会干扰非 hacky 部分的正常运行,因此我们故意忽略这些特定警告。

我们的 HTML 文档同样有一些无关紧要的 HTML 验证警告,因为我们包含了针对某个 Firefox 错误的解决方法。