跳到主题内容 跳到文档导航栏

浏览器和设备

了解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验证警告。