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