浏览器和设备
了解Bootstrap支持的浏览器和设备(从现代到旧),包括每个浏览器和设备的已知问题和错误。
支持的浏览器
Bootstrap支持最新,稳定版本所有主要浏览器和平台。
Bootstrap不确定支持直接或通过平台的Web视图API使用最新版本的WebKit,Blink或Gecko的替代浏览器。但是Bootstrap(大多数情况下)在这些浏览器中也能正常显示和运行。下面提供了更具体的支持信息。
你可以找到我们支持的浏览器及其版本的范围。 .browserslistrc file
:
# https://github.com/browserslist/browserslist#readme
>= 0.5%
last 2 major versions
not dead
Chrome >= 60
Firefox >= 60
# needed since Legacy Edge still has usage; 79 was the first Chromium Edge version
# should be removed in the future when its usage drops or when it's moved to dead browsers
not Edge < 79
Firefox ESR
iOS >= 10
Safari >= 10
Android >= 6
not Explorer <= 11
我们使用Autoprefixer通过CSS前缀处理预期的浏览器支持,而CSS前缀使用Browserslist来管理这些浏览器版本。请查阅他们的文档,以了解如何将这些工具集成到您的项目中。
移动设备
一般来说,Bootstrap支持每个主流平台的默认浏览器的最新版本。请注意,不支持代理浏览器(例如Opera Mini,Opera Mobile的Turbo模式,UC迷你浏览器,Amazon Silk)。
Chrome | Firefox | Safari | Android Browser & WebView | |
---|---|---|---|---|
Android | Supported | Supported | — | v6.0+ |
iOS | Supported | Supported | Supported | — |
PC 浏览器
同样,支持大多数桌面浏览器的最新版本。
Chrome | Firefox | Microsoft Edge | Opera | Safari | |
---|---|---|---|---|---|
Mac | Supported | Supported | Supported | Supported | Supported |
Windows | Supported | Supported | Supported | Supported | — |
对于Firefox,除了最新的正常稳定版本外,我们还支持Firefox的最新扩展支持版本(ESR)版本。
非正式地,Bootstrap在Chromium和Chrome(对于Linux)和Firefox(对于Linux)中应该看起来并表现得很好,尽管它们并未得到官方支持。
IE浏览器
不支持Internet Explorer 如果需要Internet Explorer支持,请使用Bootstrap v4。
手机上的模式和下拉菜单
溢出和滚动
overflow: hidden;
对 <body>
元素的支持在iOS和Android中非常有限。为此,当您在任一设备的浏览器中滚动经过某个模式的顶部或底部时, <body>
内容将开始滚动。请参阅 Chrome bug #175502 已在Chrome v40中修复)和 WebKit bug #153852.
iOS文本字段和滚动
从iOS 9.2开始,在打开模态时,如果滚动手势的初始触摸在 <input>
text 或<textarea>
边界内 , <body>
则模态下方的内容将被滚动,而不是模态本身。请参阅WebKit bug #153856。
导航栏下拉菜单
.dropdown-backdrop
由于z索引的复杂性,该元素未在iOS中的导航中使用。因此,要关闭导航栏中的下拉菜单,必须直接单击dropdown元素(或将触发iOS中的click事件的任何其他元素)。
浏览器缩放
页面缩放不可避免地会在Bootstrap和Web的其余部分中的某些组件中呈现渲染工件。根据问题,我们也许可以解决它(先搜索,然后根据需要打开一个问题)。但是,我们倾向于忽略这些问题,因为它们通常只有骇人的解决方法而没有其他直接的解决方案。
验证器
为了给旧的和有缺陷的浏览器提供最佳的体验,Bootstrap在多个地方使用CSS browser hacks,将特殊CSS定位于某些浏览器版本,以解决浏览器本身中的错误。可以理解,这些黑客使CSS验证器无效。在几个地方,我们还使用了尚未完全标准化的尖端CSS功能,但这些功能仅用于逐步增强。
实际上,这些验证警告并不重要,因为CSS的非hacky部分会完全验证,并且hacky部分不会干扰非hacky部分的正常运行,因此为什么我们故意忽略这些特定警告。
由于我们包括了某些Firefox错误的解决方法,因此我们的HTML文档同样具有一些琐碎且无关紧要的HTML验证警告。