浏览器与设备兼容
了解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
Firefox ESR
iOS >= 12
Safari >= 12
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 | Supported | Supported | — | v6.0+ |
iOS | Supported | Supported | Supported | — |
桌面浏览器
同样,支持大多数桌面浏览器的最新版本。
Chrome | Firefox | Microsoft Edge | Opera | Safari | |
---|---|---|---|---|---|
Mac | Supported | Supported | Supported | Supported | Supported |
Windows | Supported | Supported | Supported | Supported | — |
对于Firefox火狐浏览器,除了最新的版本外,我们还支持Firefox浏览器最新的扩展支持版本 (ESR) 。
大多数情况下,Bootstrap在Chromium和Chrome for Linux以及Firefox for Linux中的外观和行为应该足够好,尽管它们没有得到官方支持。
不再支持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.
Navbar导航栏下拉菜单
.dropdown-backdrop
在IOS上无法生态(受Z-indexinge属性影响),因此,要关闭导航栏中的下拉列表,必须再次单击下拉元素(或iOS中合法的触发点击事件他元素)。
浏览器缩放
页面缩放会影响一些组件的呈现效果,无论是在Bootstrap还是其它Web构造体验中都有这样的问题,我们会尽量解决它(在没有解决之前,建议用户先行检索网上公开的方法优化)。对于大多数用户,我们建议忽略在缩放下的渲染缺陷,因为除了用hacky方法之外,它们往往没有直接的解决方案。
验证器
为了给旧的、有bug的浏览器提供最好的体验,Bootstrap在几个地方使用 CSS 浏览器 hacks 来针对特定浏览器版本的特殊CSS,以解决浏览器本身的bug。可以理解的是,有些黑客会导致CSS验证器无效的。在一些地方,我们还使用了尚未完全标准化的前沿CSS特性,但这些特性纯粹用于渐进增强。
这些验证警告在实践中并不重要,因为我们的CSS的非hacky部分是完全验证的,而且hacky部分不会干扰非hacky部分的正常功能,因此我们故意忽略这些警告。