浏览器和设备
了解 Bootstrap 支持的浏览器和设备,从现代到旧款,包括已知的每个浏览器的怪癖和错误。
受支持的浏览器
Bootstrap 支持所有主流浏览器和平台的最新稳定版本。
直接或通过平台的网络视图 API 使用最新版本的 WebKit、Blink 或 Gecko 的备用浏览器不受明确支持。但是,Bootstrap 在这些浏览器中也应该(在大多数情况下)显示和正常运行。下面提供了更具体的支持信息。
您可以在 我们的 .browserslistrc 文件
中找到我们支持的浏览器范围及其版本
# 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 支持每个主流平台的默认浏览器的最新版本。请注意,不支持代理浏览器(例如 Opera Mini、Opera Mobile 的 Turbo 模式、UC Browser Mini、Amazon Silk)。
Chrome | Firefox | Safari | Android 浏览器和 WebView | |
---|---|---|---|---|
Android | 受支持 | 受支持 | — | v6.0+ |
iOS | 受支持 | 受支持 | 受支持 | — |
桌面浏览器
类似地,大多数桌面浏览器的最新版本都受支持。
Chrome | Firefox | Microsoft Edge | Opera | Safari | |
---|---|---|---|---|---|
Mac | 受支持 | 受支持 | 受支持 | 受支持 | 受支持 |
Windows | 受支持 | 受支持 | 受支持 | 受支持 | — |
对于 Firefox,除了最新的正常稳定版本外,我们还支持最新的 扩展支持版本 (ESR) 的 Firefox。
非官方地,Bootstrap 应该在 Linux 的 Chromium 和 Chrome 中以及 Linux 的 Firefox 中表现良好,尽管它们不受官方支持。
Internet Explorer
Internet Explorer 不受支持。如果您需要 Internet Explorer 支持,请使用 Bootstrap v4。
移动设备上的模态框和下拉菜单
溢出和滚动
在 iOS 和 Android 中,对 <body>
元素上的 overflow: hidden;
的支持非常有限。因此,当您在这些设备的浏览器中滚动到模态框的顶部或底部时,<body>
内容将开始滚动。请参阅 Chrome 错误 #175502(已在 Chrome v40 中修复)和 WebKit 错误 #153852。
iOS 文本字段和滚动
从 iOS 9.2 开始,当模态框处于打开状态时,如果滚动手势的初始触点在文本 <input>
或 <textarea>
的边界内,则模态框下方的 <body>
内容将滚动,而不是模态框本身。请参阅 WebKit 错误 #153856。
导航栏下拉菜单
由于 z 索引的复杂性,.dropdown-backdrop
元素不会在导航中的 iOS 上使用。因此,要在导航栏中关闭下拉菜单,您必须直接单击下拉元素(或 在 iOS 中将触发单击事件的任何其他元素)。
浏览器缩放
页面缩放不可避免地会在某些组件中呈现渲染工件,无论是在 Bootstrap 中还是在 Web 的其他部分。根据问题,我们也许能够修复它(先搜索,然后在需要时打开一个问题)。但是,我们倾向于忽略这些问题,因为它们通常没有直接解决方案,只能通过黑客解决方法来解决。
验证器
为了给旧版且有缺陷的浏览器提供尽可能好的体验,Bootstrap 在多个地方使用 CSS 浏览器黑客,以针对某些浏览器版本提供特殊的 CSS,以便解决浏览器本身中的缺陷。可以理解,这些黑客会导致 CSS 验证器抱怨它们无效。在一些地方,我们还使用尚未完全标准化的前沿 CSS 功能,但这些功能纯粹用于渐进增强。
这些验证警告在实践中无关紧要,因为我们 CSS 的非黑客部分完全有效,并且黑客部分不会干扰非黑客部分的正常运行,因此我们故意忽略这些特定警告。
由于我们包含了 某个 Firefox 缺陷 的解决方法,我们的 HTML 文档同样有一些微不足道且无关紧要的 HTML 验证警告。