在GitHub上查看

浏览器与设备调优

了解Bootstrap所支持的浏览器和设备(从现代的到旧的),包括每种浏览器和设备的已知缺陷和错误。

支持的浏览器

Bootstrap几乎支持所有主流操作系统上各浏览器的最新稳定版本

使用最新版本WebKit、Blink或Gecko内核的第三方浏览器(如国产360安全/极速浏览器、搜狗浏览器、QQ浏览器、UCweb浏览器),无论是直接地还是通过Web API接口,虽然BootStrap官方没有针对性的开发支持,但在大多数情况下也都是完美兼容,不会影响视觉呈现和脚本运行。以下提供更具体的支持信息。

你可以在.browserslistrc文件中找到支持的浏览器范围及其版本:

# 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支持主流移动OS的默认浏览器的最新版本。注意,不支持代理浏览器(如Opera Mini浏览器、 Opera Mobile’s Turbo 模式、 UCweb Mini浏览器、 Amazon Silk浏览器)。

Chrome Firefox Safari Android Browser & WebView内置浏览器
Android安卓 支持 支持 v6.0+
iOS苹果 支持 支持 支持

桌面浏览器

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

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

对于Firefox火狐浏览器,除了最新的版本外,我们还支持Firefox浏览器最新的扩展支持版本 (ESR)

大多数情况下,Bootstrap在Linux和Chrome,以及Linux的Firefox中看起来和表现都很好,尽管它们没有得到官方的支持。

不再支持IE

作为全新的版本,Bootstrap 5 明确不再支持IE(Internet Explorer)浏览器。如需要兼容IE,请使用 Bootstrap v4

移动设备的模态框和下拉组件

Overflow溢出和scroll滚动

支持 overflow: hidden; ;在<body>中,元素在iOS和Android中的支持非常有限。 因此在这两种设备中,滚动超过一个模态窗口的顶部或底部,<body>内容也会开始滚动。查看 Chrome bug #175502(在Chrome v40中修复)和WebKit bug #153852.

iOS文本字段和滚动

从iOS9.2开始,当一个模态启用时,如果手势触摸在<input><textarea>的文本框内,则<body>内容将被滚动,而不是模态本身。请参阅 WebKit bug #153856.

.dropdown-backdrop 在IOS上无法生态(受Z-indexinge属性影响),因此,要关闭导航栏中的下拉列表,必须再次单击下拉元素(或iOS中合法的触发点击事件他元素)。

浏览器缩放

页面缩放会影响一些组件的呈现效果,无论是在Bootstrap还是其它Web构造体验中都有这样的问题,我们会尽量解决它(在没有解决之前,建议用户先行检索网上公开的方法优化)。对于大多数用户,我们建议忽略在缩放下的渲染缺陷,因为除了用hacky方法之外,它们往往没有直接的解决方案。

验证器

为了给旧的、有bug的浏览器提供最好的体验,Bootstrap在几个地方使用 CSS 浏览器 hacks 来针对特定浏览器版本的特殊CSS,以解决浏览器本身的bug。可以理解的是,有些黑客会导致CSS验证器无效的。在一些地方,我们还使用了尚未完全标准化的前沿CSS特性,但这些特性纯粹用于渐进增强。

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

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