2017-10-19 21:22:00 +02:00
<!doctype html>
2017-08-11 06:04:59 +02:00
< html lang = "en" >
< head >
< meta charset = "utf-8" >
< meta name = "viewport" content = "width=device-width, initial-scale=1, shrink-to-fit=no" >
2017-12-28 18:55:44 +01:00
< meta name = "description" content = "Learn about the browsers and devices, from modern to old, that are supported by Bootstrap, including known quirks and bugs for each." >
< meta name = "author" content = "Mark Otto, Jacob Thornton, and Bootstrap contributors" >
2018-01-18 19:32:35 +01:00
< meta name = "generator" content = "Jekyll v3.7.0" >
2017-08-11 06:04:59 +02:00
2017-12-28 18:55:44 +01:00
< title > Browsers and devices · Bootstrap< / title >
2017-10-19 21:22:00 +02:00
<!-- Bootstrap core CSS -->
2018-04-09 21:48:24 +02:00
< link href = "/docs/4.0/dist/css/bootstrap.min.css" rel = "stylesheet" integrity = "sha384-Gn5384xqQ1aoWXA+058RXPxPg6fy4IWvTNh0E263XmFcJlSAwiGgFAW/dAiS6JXm" crossorigin = "anonymous" >
2017-10-19 21:22:00 +02:00
<!-- Documentation extras -->
2017-12-28 18:55:44 +01:00
< link href = "https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.css" rel = "stylesheet" >
2017-10-19 21:22:00 +02:00
2018-04-09 21:48:24 +02:00
< link href = "/docs/4.0/assets/css/docs.min.css" rel = "stylesheet" >
2017-10-19 21:22:00 +02:00
<!-- Favicons -->
< link rel = "apple-touch-icon" href = "/assets/img/favicons/apple-touch-icon.png" sizes = "180x180" >
< link rel = "icon" href = "/assets/img/favicons/favicon-32x32.png" sizes = "32x32" type = "image/png" >
< link rel = "icon" href = "/assets/img/favicons/favicon-16x16.png" sizes = "16x16" type = "image/png" >
< link rel = "manifest" href = "/assets/img/favicons/manifest.json" >
< link rel = "mask-icon" href = "/assets/img/favicons/safari-pinned-tab.svg" color = "#563d7c" >
< link rel = "icon" href = "/favicon.ico" >
< meta name = "msapplication-config" content = "/assets/img/favicons/browserconfig.xml" >
< meta name = "theme-color" content = "#563d7c" >
2017-08-11 06:04:59 +02:00
<!-- Twitter -->
2017-12-28 18:55:44 +01:00
< meta name = "twitter:card" content = "summary" >
2017-08-11 06:04:59 +02:00
< meta name = "twitter:site" content = "@getbootstrap" >
< meta name = "twitter:creator" content = "@getbootstrap" >
2017-12-28 18:55:44 +01:00
< meta name = "twitter:title" content = "Browsers and devices" >
< meta name = "twitter:description" content = "Learn about the browsers and devices, from modern to old, that are supported by Bootstrap, including known quirks and bugs for each." >
< meta name = "twitter:image" content = "https://getbootstrap.com/assets/brand/bootstrap-social-logo.png" >
2017-08-11 06:04:59 +02:00
<!-- Facebook -->
2017-12-28 18:55:44 +01:00
< meta property = "og:url" content = "https://getbootstrap.com/docs/4.0/getting-started/browsers-devices/" >
< meta property = "og:title" content = "Browsers and devices" >
< meta property = "og:description" content = "Learn about the browsers and devices, from modern to old, that are supported by Bootstrap, including known quirks and bugs for each." >
< meta property = "og:type" content = "website" >
2017-08-11 06:04:59 +02:00
< meta property = "og:image" content = "http://getbootstrap.com/assets/brand/bootstrap-social.png" >
2017-08-11 06:10:55 +02:00
< meta property = "og:image:secure_url" content = "https://getbootstrap.com/assets/brand/bootstrap-social.png" >
2017-08-11 06:04:59 +02:00
< meta property = "og:image:type" content = "image/png" >
< meta property = "og:image:width" content = "1200" >
< meta property = "og:image:height" content = "630" >
< script >
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
})(window,document,'script','https://www.google-analytics.com/analytics.js','ga');
ga('create', 'UA-146052-10', 'getbootstrap.com');
ga('send', 'pageview');
< / script >
< / head >
2017-10-19 21:22:00 +02:00
< body >
2017-08-11 06:04:59 +02:00
< a id = "skippy" class = "sr-only sr-only-focusable" href = "#content" >
< div class = "container" >
< span class = "skiplink-text" > Skip to main content< / span >
< / div >
< / a >
< header class = "navbar navbar-expand navbar-dark flex-column flex-md-row bd-navbar" >
2017-12-28 18:55:44 +01:00
< a class = "navbar-brand mr-0 mr-md-2" href = "/" aria-label = "Bootstrap" > < svg class = "d-block" width = "36" height = "36" viewbox = "0 0 612 612" xmlns = "http://www.w3.org/2000/svg" focusable = "false" > < title > Bootstrap< / title > < path fill = "currentColor" d = "M510 8a94.3 94.3 0 0 1 94 94v408a94.3 94.3 0 0 1-94 94H102a94.3 94.3 0 0 1-94-94V102a94.3 94.3 0 0 1 94-94h408m0-8H102C45.9 0 0 45.9 0 102v408c0 56.1 45.9 102 102 102h408c56.1 0 102-45.9 102-102V102C612 45.9 566.1 0 510 0z" / > < path fill = "currentColor" d = "M196.77 471.5V154.43h124.15c54.27 0 91 31.64 91 79.1 0 33-24.17 63.72-54.71 69.21v1.76c43.07 5.49 70.75 35.82 70.75 78 0 55.81-40 89-107.45 89zm39.55-180.4h63.28c46.8 0 72.29-18.68 72.29-53 0-31.42-21.53-48.78-60-48.78h-75.57zm78.22 145.46c47.68 0 72.73-19.34 72.73-56s-25.93-55.37-76.46-55.37h-74.49v111.4z" / > < / svg >
< / a >
2017-08-11 06:04:59 +02:00
< div class = "navbar-nav-scroll" >
< ul class = "navbar-nav bd-navbar-nav flex-row" >
< li class = "nav-item" >
< a class = "nav-link " href = "/" onclick = "ga('send', 'event', 'Navbar', 'Community links', 'Bootstrap');" > Home< / a >
< / li >
< li class = "nav-item" >
2017-10-19 21:22:00 +02:00
< a class = "nav-link active" href = "/docs/4.0/getting-started/introduction/" onclick = "ga('send', 'event', 'Navbar', 'Community links', 'Docs');" > Documentation< / a >
2017-08-11 06:04:59 +02:00
< / li >
< li class = "nav-item" >
< a class = "nav-link " href = "/docs/4.0/examples/" onclick = "ga('send', 'event', 'Navbar', 'Community links', 'Examples');" > Examples< / a >
< / li >
< li class = "nav-item" >
< a class = "nav-link" href = "https://themes.getbootstrap.com" onclick = "ga('send', 'event', 'Navbar', 'Community links', 'Themes');" target = "_blank" rel = "noopener" > Themes< / a >
< / li >
< li class = "nav-item" >
< a class = "nav-link" href = "https://jobs.getbootstrap.com" onclick = "ga('send', 'event', 'Navbar', 'Community links', 'Jobs');" target = "_blank" rel = "noopener" > Jobs< / a >
< / li >
< li class = "nav-item" >
< a class = "nav-link" href = "https://expo.getbootstrap.com" onclick = "ga('send', 'event', 'Navbar', 'Community links', 'Expo');" target = "_blank" rel = "noopener" > Expo< / a >
< / li >
< li class = "nav-item" >
< a class = "nav-link" href = "https://blog.getbootstrap.com" onclick = "ga('send', 'event', 'Navbar', 'Community links', 'Blog');" target = "_blank" rel = "noopener" > Blog< / a >
< / li >
< / ul >
< / div >
< ul class = "navbar-nav flex-row ml-md-auto d-none d-md-flex" >
< li class = "nav-item dropdown" >
< a class = "nav-item nav-link dropdown-toggle mr-md-2" href = "#" id = "bd-versions" data-toggle = "dropdown" aria-haspopup = "true" aria-expanded = "false" >
v4.0
< / a >
< div class = "dropdown-menu dropdown-menu-right" aria-labelledby = "bd-versions" >
2018-04-09 18:02:59 +02:00
< a class = "dropdown-item" href = "/docs/4.1/" > Latest (v4.1.x)< / a >
< a class = "dropdown-item active" href = "/docs/4.0/" > v4.0.0< / a >
< div class = "dropdown-divider" > < / div >
2017-10-19 21:22:00 +02:00
< a class = "dropdown-item" href = "https://v4-alpha.getbootstrap.com/" > v4 Alpha 6< / a >
2017-10-19 22:03:56 +02:00
< a class = "dropdown-item" href = "https://getbootstrap.com/docs/3.3/" > v3.3.7< / a >
2017-08-11 06:04:59 +02:00
< a class = "dropdown-item" href = "https://getbootstrap.com/2.3.2/" > v2.3.2< / a >
< / div >
< / li >
< li class = "nav-item" >
2017-12-28 18:55:44 +01:00
< a class = "nav-link p-2" href = "https://github.com/twbs/bootstrap" target = "_blank" rel = "noopener" aria-label = "GitHub" > < svg class = "navbar-nav-svg" xmlns = "http://www.w3.org/2000/svg" viewbox = "0 0 512 499.36" focusable = "false" > < title > GitHub< / title > < path d = "M256 0C114.64 0 0 114.61 0 256c0 113.09 73.34 209 175.08 242.9 12.8 2.35 17.47-5.56 17.47-12.34 0-6.08-.22-22.18-.35-43.54-71.2 15.49-86.2-34.34-86.2-34.34-11.64-29.57-28.42-37.45-28.42-37.45-23.27-15.84 1.73-15.55 1.73-15.55 25.69 1.81 39.21 26.38 39.21 26.38 22.84 39.12 59.92 27.82 74.5 21.27 2.33-16.54 8.94-27.82 16.25-34.22-56.84-6.43-116.6-28.43-116.6-126.49 0-27.95 10-50.8 26.35-68.69-2.63-6.48-11.42-32.5 2.51-67.75 0 0 21.49-6.88 70.4 26.24a242.65 242.65 0 0 1 128.18 0c48.87-33.13 70.33-26.24 70.33-26.24 14 35.25 5.18 61.27 2.55 67.75 16.41 17.9 26.31 40.75 26.31 68.69 0 98.35-59.85 120-116.88 126.32 9.19 7.9 17.38 23.53 17.38 47.41 0 34.22-.31 61.83-.31 70.23 0 6.85 4.61 14.81 17.6 12.31C438.72 464.97 512 369.08 512 256.02 512 114.62 397.37 0 256 0z" fill = "currentColor" fill-rule = "evenodd" / > < / svg >
< / a >
2017-08-11 06:04:59 +02:00
< / li >
< li class = "nav-item" >
2017-12-28 18:55:44 +01:00
< a class = "nav-link p-2" href = "https://twitter.com/getbootstrap" target = "_blank" rel = "noopener" aria-label = "Twitter" > < svg class = "navbar-nav-svg" xmlns = "http://www.w3.org/2000/svg" viewbox = "0 0 512 416.32" focusable = "false" > < title > Twitter< / title > < path d = "M160.83 416.32c193.2 0 298.92-160.22 298.92-298.92 0-4.51 0-9-.2-13.52A214 214 0 0 0 512 49.38a212.93 212.93 0 0 1-60.44 16.6 105.7 105.7 0 0 0 46.3-58.19 209 209 0 0 1-66.79 25.37 105.09 105.09 0 0 0-181.73 71.91 116.12 116.12 0 0 0 2.66 24c-87.28-4.3-164.73-46.3-216.56-109.82A105.48 105.48 0 0 0 68 159.6a106.27 106.27 0 0 1-47.53-13.11v1.43a105.28 105.28 0 0 0 84.21 103.06 105.67 105.67 0 0 1-47.33 1.84 105.06 105.06 0 0 0 98.14 72.94A210.72 210.72 0 0 1 25 370.84a202.17 202.17 0 0 1-25-1.43 298.85 298.85 0 0 0 160.83 46.92" fill = "currentColor" / > < / svg >
< / a >
2017-08-11 06:04:59 +02:00
< / li >
< li class = "nav-item" >
2017-12-28 18:55:44 +01:00
< a class = "nav-link p-2" href = "https://bootstrap-slack.herokuapp.com" target = "_blank" rel = "noopener" aria-label = "Slack" > < svg class = "navbar-nav-svg" xmlns = "http://www.w3.org/2000/svg" viewbox = "0 0 512 512" focusable = "false" > < title > Slack< / title > < path fill = "currentColor" d = "M210.787 234.832l68.31-22.883 22.1 65.977-68.309 22.882z" / > < path d = "M490.54 185.6C437.7 9.59 361.6-31.34 185.6 21.46S-31.3 150.4 21.46 326.4 150.4 543.3 326.4 490.54 543.34 361.6 490.54 185.6zM401.7 299.8l-33.15 11.05 11.46 34.38c4.5 13.92-2.87 29.06-16.78 33.56-2.87.82-6.14 1.64-9 1.23a27.32 27.32 0 0 1-24.56-18l-11.46-34.38-68.36 22.92 11.46 34.38c4.5 13.92-2.87 29.06-16.78 33.56-2.87.82-6.14 1.64-9 1.23a27.32 27.32 0 0 1-24.56-18l-11.46-34.43-33.15 11.05c-2.87.82-6.14 1.64-9 1.23a27.32 27.32 0 0 1-24.56-18c-4.5-13.92 2.87-29.06 16.78-33.56l33.12-11.03-22.1-65.9-33.15 11.05c-2.87.82-6.14 1.64-9 1.23a27.32 27.32 0 0 1-24.56-18c-4.48-13.93 2.89-29.07 16.81-33.58l33.15-11.05-11.46-34.38c-4.5-13.92 2.87-29.06 16.78-33.56s29.06 2.87 33.56 16.78l11.46 34.38 68.36-22.92-11.46-34.38c-4.5-13.92 2.87-29.06 16.78-33.56s29.06 2.87 33.56 16.78l11.47 34.42 33.15-11.05c13.92-4.5 29.06 2.87 33.56 16.78s-2.87 29.06-16.78 33.56L329.7 194.6l22.1 65.9 33.15-11.05c13.92-4.5 29.06 2.87 33.56 16.78s-2.88 29.07-16.81 33.57z" fill = "currentColor" / > < / svg >
< / a >
2017-08-11 06:04:59 +02:00
< / li >
< / ul >
2018-01-18 19:32:35 +01:00
< a class = "btn btn-bd-download d-none d-lg-inline-block mb-3 mb-md-0 ml-md-3" href = "https://github.com/twbs/bootstrap/archive/v4.0.0.zip" > Download< / a >
2017-08-11 06:04:59 +02:00
< / header >
< div class = "container-fluid" >
< div class = "row flex-xl-nowrap" >
< div class = "col-12 col-md-3 col-xl-2 bd-sidebar" >
< form class = "bd-search d-flex align-items-center" >
< input type = "search" class = "form-control" id = "search-input" placeholder = "Search..." aria-label = "Search for..." autocomplete = "off" >
2017-12-28 18:55:44 +01:00
< button class = "btn btn-link bd-search-docs-toggle d-md-none p-0 ml-3" type = "button" data-toggle = "collapse" data-target = "#bd-docs-nav" aria-controls = "bd-docs-nav" aria-expanded = "false" aria-label = "Toggle docs navigation" > < svg xmlns = "http://www.w3.org/2000/svg" viewbox = "0 0 30 30" width = "30" height = "30" focusable = "false" > < title > Menu< / title > < path stroke = "currentColor" stroke-width = "2" stroke-linecap = "round" stroke-miterlimit = "10" d = "M4 7h22M4 15h22M4 23h22" / > < / svg >
< / button >
2017-08-11 06:04:59 +02:00
< / form >
2017-10-19 21:22:00 +02:00
< nav class = "collapse bd-links" id = "bd-docs-nav" > < div class = "bd-toc-item active" >
2017-08-11 06:04:59 +02:00
< a class = "bd-toc-link" href = "/docs/4.0/getting-started/introduction/" >
Getting started
< / a >
2017-10-19 21:22:00 +02:00
< ul class = "nav bd-sidenav" > < li >
2017-08-11 06:04:59 +02:00
< a href = "/docs/4.0/getting-started/introduction/" >
Introduction
2017-12-28 18:55:44 +01:00
< / a > < / li > < li >
2017-08-11 06:04:59 +02:00
< a href = "/docs/4.0/getting-started/download/" >
Download
2017-12-28 18:55:44 +01:00
< / a > < / li > < li >
2017-08-11 06:04:59 +02:00
< a href = "/docs/4.0/getting-started/contents/" >
Contents
2017-12-28 18:55:44 +01:00
< / a > < / li > < li class = "active bd-sidenav-active" >
2017-08-11 06:04:59 +02:00
< a href = "/docs/4.0/getting-started/browsers-devices/" >
Browsers & devices
2017-12-28 18:55:44 +01:00
< / a > < / li > < li >
2017-08-11 06:04:59 +02:00
< a href = "/docs/4.0/getting-started/javascript/" >
JavaScript
2017-12-28 18:55:44 +01:00
< / a > < / li > < li >
2017-10-19 21:22:00 +02:00
< a href = "/docs/4.0/getting-started/theming/" >
Theming
2017-12-28 18:55:44 +01:00
< / a > < / li > < li >
2017-08-11 06:04:59 +02:00
< a href = "/docs/4.0/getting-started/build-tools/" >
Build tools
2017-12-28 18:55:44 +01:00
< / a > < / li > < li >
2017-08-11 06:04:59 +02:00
< a href = "/docs/4.0/getting-started/webpack/" >
Webpack
2017-12-28 18:55:44 +01:00
< / a > < / li > < li >
2017-08-11 06:04:59 +02:00
< a href = "/docs/4.0/getting-started/accessibility/" >
Accessibility
2017-12-28 18:55:44 +01:00
< / a > < / li > < / ul >
2017-10-19 21:22:00 +02:00
< / div > < div class = "bd-toc-item" >
2017-08-11 06:04:59 +02:00
< a class = "bd-toc-link" href = "/docs/4.0/layout/overview/" >
Layout
< / a >
2017-10-19 21:22:00 +02:00
< ul class = "nav bd-sidenav" > < li >
2017-08-11 06:04:59 +02:00
< a href = "/docs/4.0/layout/overview/" >
Overview
2017-12-28 18:55:44 +01:00
< / a > < / li > < li >
2017-08-11 06:04:59 +02:00
< a href = "/docs/4.0/layout/grid/" >
Grid
2017-12-28 18:55:44 +01:00
< / a > < / li > < li >
2017-08-11 06:04:59 +02:00
< a href = "/docs/4.0/layout/media-object/" >
Media object
2017-12-28 18:55:44 +01:00
< / a > < / li > < li >
2017-08-11 06:04:59 +02:00
< a href = "/docs/4.0/layout/utilities-for-layout/" >
Utilities for layout
2017-12-28 18:55:44 +01:00
< / a > < / li > < / ul >
2017-10-19 21:22:00 +02:00
< / div > < div class = "bd-toc-item" >
2017-08-11 06:04:59 +02:00
< a class = "bd-toc-link" href = "/docs/4.0/content/reboot/" >
Content
< / a >
2017-10-19 21:22:00 +02:00
< ul class = "nav bd-sidenav" > < li >
2017-08-11 06:04:59 +02:00
< a href = "/docs/4.0/content/reboot/" >
Reboot
2017-12-28 18:55:44 +01:00
< / a > < / li > < li >
2017-08-11 06:04:59 +02:00
< a href = "/docs/4.0/content/typography/" >
Typography
2017-12-28 18:55:44 +01:00
< / a > < / li > < li >
2017-08-11 06:04:59 +02:00
< a href = "/docs/4.0/content/code/" >
Code
2017-12-28 18:55:44 +01:00
< / a > < / li > < li >
2017-08-11 06:04:59 +02:00
< a href = "/docs/4.0/content/images/" >
Images
2017-12-28 18:55:44 +01:00
< / a > < / li > < li >
2017-08-11 06:04:59 +02:00
< a href = "/docs/4.0/content/tables/" >
Tables
2017-12-28 18:55:44 +01:00
< / a > < / li > < li >
2017-08-11 06:04:59 +02:00
< a href = "/docs/4.0/content/figures/" >
Figures
2017-12-28 18:55:44 +01:00
< / a > < / li > < / ul >
2017-10-19 21:22:00 +02:00
< / div > < div class = "bd-toc-item" >
2017-08-11 06:04:59 +02:00
< a class = "bd-toc-link" href = "/docs/4.0/components/alerts/" >
Components
< / a >
2017-10-19 21:22:00 +02:00
< ul class = "nav bd-sidenav" > < li >
2017-08-11 06:04:59 +02:00
< a href = "/docs/4.0/components/alerts/" >
Alerts
2017-12-28 18:55:44 +01:00
< / a > < / li > < li >
2017-08-11 06:04:59 +02:00
< a href = "/docs/4.0/components/badge/" >
Badge
2017-12-28 18:55:44 +01:00
< / a > < / li > < li >
2017-08-11 06:04:59 +02:00
< a href = "/docs/4.0/components/breadcrumb/" >
Breadcrumb
2017-12-28 18:55:44 +01:00
< / a > < / li > < li >
2017-08-11 06:04:59 +02:00
< a href = "/docs/4.0/components/buttons/" >
Buttons
2017-12-28 18:55:44 +01:00
< / a > < / li > < li >
2017-08-11 06:04:59 +02:00
< a href = "/docs/4.0/components/button-group/" >
Button group
2017-12-28 18:55:44 +01:00
< / a > < / li > < li >
2017-08-11 06:04:59 +02:00
< a href = "/docs/4.0/components/card/" >
Card
2017-12-28 18:55:44 +01:00
< / a > < / li > < li >
2017-08-11 06:04:59 +02:00
< a href = "/docs/4.0/components/carousel/" >
Carousel
2017-12-28 18:55:44 +01:00
< / a > < / li > < li >
2017-08-11 06:04:59 +02:00
< a href = "/docs/4.0/components/collapse/" >
Collapse
2017-12-28 18:55:44 +01:00
< / a > < / li > < li >
2017-08-11 06:04:59 +02:00
< a href = "/docs/4.0/components/dropdowns/" >
Dropdowns
2017-12-28 18:55:44 +01:00
< / a > < / li > < li >
2017-08-11 06:04:59 +02:00
< a href = "/docs/4.0/components/forms/" >
Forms
2017-12-28 18:55:44 +01:00
< / a > < / li > < li >
2017-08-11 06:04:59 +02:00
< a href = "/docs/4.0/components/input-group/" >
Input group
2017-12-28 18:55:44 +01:00
< / a > < / li > < li >
2017-08-11 06:04:59 +02:00
< a href = "/docs/4.0/components/jumbotron/" >
Jumbotron
2017-12-28 18:55:44 +01:00
< / a > < / li > < li >
2017-08-11 06:04:59 +02:00
< a href = "/docs/4.0/components/list-group/" >
List group
2017-12-28 18:55:44 +01:00
< / a > < / li > < li >
2017-08-11 06:04:59 +02:00
< a href = "/docs/4.0/components/modal/" >
Modal
2017-12-28 18:55:44 +01:00
< / a > < / li > < li >
2017-08-11 06:04:59 +02:00
< a href = "/docs/4.0/components/navs/" >
Navs
2017-12-28 18:55:44 +01:00
< / a > < / li > < li >
2017-08-11 06:04:59 +02:00
< a href = "/docs/4.0/components/navbar/" >
Navbar
2017-12-28 18:55:44 +01:00
< / a > < / li > < li >
2017-08-11 06:04:59 +02:00
< a href = "/docs/4.0/components/pagination/" >
Pagination
2017-12-28 18:55:44 +01:00
< / a > < / li > < li >
2017-08-11 06:04:59 +02:00
< a href = "/docs/4.0/components/popovers/" >
Popovers
2017-12-28 18:55:44 +01:00
< / a > < / li > < li >
2017-08-11 06:04:59 +02:00
< a href = "/docs/4.0/components/progress/" >
Progress
2017-12-28 18:55:44 +01:00
< / a > < / li > < li >
2017-08-11 06:04:59 +02:00
< a href = "/docs/4.0/components/scrollspy/" >
Scrollspy
2017-12-28 18:55:44 +01:00
< / a > < / li > < li >
2017-08-11 06:04:59 +02:00
< a href = "/docs/4.0/components/tooltips/" >
Tooltips
2017-12-28 18:55:44 +01:00
< / a > < / li > < / ul >
2017-10-19 21:22:00 +02:00
< / div > < div class = "bd-toc-item" >
2017-08-11 06:04:59 +02:00
< a class = "bd-toc-link" href = "/docs/4.0/utilities/borders/" >
Utilities
< / a >
2017-10-19 21:22:00 +02:00
< ul class = "nav bd-sidenav" > < li >
2017-08-11 06:04:59 +02:00
< a href = "/docs/4.0/utilities/borders/" >
Borders
2017-12-28 18:55:44 +01:00
< / a > < / li > < li >
2017-08-11 06:04:59 +02:00
< a href = "/docs/4.0/utilities/clearfix/" >
Clearfix
2017-12-28 18:55:44 +01:00
< / a > < / li > < li >
2017-08-11 06:04:59 +02:00
< a href = "/docs/4.0/utilities/close-icon/" >
Close icon
2017-12-28 18:55:44 +01:00
< / a > < / li > < li >
2017-08-11 06:04:59 +02:00
< a href = "/docs/4.0/utilities/colors/" >
Colors
2017-12-28 18:55:44 +01:00
< / a > < / li > < li >
2017-08-11 06:04:59 +02:00
< a href = "/docs/4.0/utilities/display/" >
Display
2017-12-28 18:55:44 +01:00
< / a > < / li > < li >
2017-08-11 06:04:59 +02:00
< a href = "/docs/4.0/utilities/embed/" >
Embed
2017-12-28 18:55:44 +01:00
< / a > < / li > < li >
2017-08-11 06:04:59 +02:00
< a href = "/docs/4.0/utilities/flex/" >
Flex
2017-12-28 18:55:44 +01:00
< / a > < / li > < li >
2017-08-11 06:04:59 +02:00
< a href = "/docs/4.0/utilities/float/" >
Float
2017-12-28 18:55:44 +01:00
< / a > < / li > < li >
2017-08-11 06:04:59 +02:00
< a href = "/docs/4.0/utilities/image-replacement/" >
Image replacement
2017-12-28 18:55:44 +01:00
< / a > < / li > < li >
2017-08-11 06:04:59 +02:00
< a href = "/docs/4.0/utilities/position/" >
Position
2017-12-28 18:55:44 +01:00
< / a > < / li > < li >
2017-08-11 06:04:59 +02:00
< a href = "/docs/4.0/utilities/screenreaders/" >
Screenreaders
2017-12-28 18:55:44 +01:00
< / a > < / li > < li >
2017-08-11 06:04:59 +02:00
< a href = "/docs/4.0/utilities/sizing/" >
Sizing
2017-12-28 18:55:44 +01:00
< / a > < / li > < li >
2017-08-11 06:04:59 +02:00
< a href = "/docs/4.0/utilities/spacing/" >
Spacing
2017-12-28 18:55:44 +01:00
< / a > < / li > < li >
2017-08-11 06:04:59 +02:00
< a href = "/docs/4.0/utilities/text/" >
Text
2017-12-28 18:55:44 +01:00
< / a > < / li > < li >
2017-08-11 06:04:59 +02:00
< a href = "/docs/4.0/utilities/vertical-align/" >
Vertical align
2017-12-28 18:55:44 +01:00
< / a > < / li > < li >
2017-08-11 06:04:59 +02:00
< a href = "/docs/4.0/utilities/visibility/" >
Visibility
2017-12-28 18:55:44 +01:00
< / a > < / li > < / ul >
2017-10-19 21:22:00 +02:00
< / div > < div class = "bd-toc-item" >
2018-01-18 19:32:35 +01:00
< a class = "bd-toc-link" href = "/docs/4.0/extend/approach/" >
2017-08-11 06:04:59 +02:00
Extend
< / a >
2017-10-19 21:22:00 +02:00
< ul class = "nav bd-sidenav" > < li >
2018-01-18 19:32:35 +01:00
< a href = "/docs/4.0/extend/approach/" >
Approach
< / a > < / li > < li >
2017-08-11 06:04:59 +02:00
< a href = "/docs/4.0/extend/icons/" >
Icons
2017-12-28 18:55:44 +01:00
< / a > < / li > < / ul >
2017-10-19 21:22:00 +02:00
< / div > < div class = "bd-toc-item" >
2017-08-11 06:04:59 +02:00
< a class = "bd-toc-link" href = "/docs/4.0/migration/" >
Migration
< / a >
2017-10-19 21:22:00 +02:00
< ul class = "nav bd-sidenav" > < / ul >
< / div > < div class = "bd-toc-item" >
2017-12-28 18:55:44 +01:00
< a class = "bd-toc-link" href = "/docs/4.0/about/overview/" >
2017-10-19 21:22:00 +02:00
About
< / a >
< ul class = "nav bd-sidenav" > < li >
2017-12-28 18:55:44 +01:00
< a href = "/docs/4.0/about/overview/" >
Overview
< / a > < / li > < li >
2017-10-19 21:22:00 +02:00
< a href = "/docs/4.0/about/brand/" >
Brand
2017-12-28 18:55:44 +01:00
< / a > < / li > < li >
2017-10-19 21:22:00 +02:00
< a href = "/docs/4.0/about/license/" >
License
2017-12-28 18:55:44 +01:00
< / a > < / li > < li >
2017-10-19 21:22:00 +02:00
< a href = "/docs/4.0/about/translations/" >
Translations
2017-12-28 18:55:44 +01:00
< / a > < / li > < / ul >
2017-10-19 21:22:00 +02:00
< / div > < / nav >
2017-08-11 06:04:59 +02:00
< / div >
< div class = "d-none d-xl-block col-xl-2 bd-toc" >
< ul class = "section-nav" >
< li class = "toc-entry toc-h2" > < a href = "#supported-browsers" > Supported browsers< / a >
< ul >
< li class = "toc-entry toc-h3" > < a href = "#mobile-devices" > Mobile devices< / a > < / li >
< li class = "toc-entry toc-h3" > < a href = "#desktop-browsers" > Desktop browsers< / a > < / li >
< / ul >
< / li >
< li class = "toc-entry toc-h2" > < a href = "#internet-explorer" > Internet Explorer< / a > < / li >
< li class = "toc-entry toc-h2" > < a href = "#modals-and-dropdowns-on-mobile" > Modals and dropdowns on mobile< / a >
< ul >
< li class = "toc-entry toc-h3" > < a href = "#overflow-and-scrolling" > Overflow and scrolling< / a > < / li >
< li class = "toc-entry toc-h3" > < a href = "#ios-text-fields-and-scrolling" > iOS text fields and scrolling< / a > < / li >
< li class = "toc-entry toc-h3" > < a href = "#navbar-dropdowns" > Navbar Dropdowns< / a > < / li >
< / ul >
< / li >
< li class = "toc-entry toc-h2" > < a href = "#browser-zooming" > Browser zooming< / a > < / li >
2018-01-18 19:32:35 +01:00
< li class = "toc-entry toc-h2" > < a href = "#sticky-hoverfocus-on-ios" > Sticky :hover/:focus on iOS< / a > < / li >
2017-08-11 06:04:59 +02:00
< li class = "toc-entry toc-h2" > < a href = "#printing" > Printing< / a > < / li >
< li class = "toc-entry toc-h2" > < a href = "#android-stock-browser" > Android stock browser< / a >
< ul >
< li class = "toc-entry toc-h4" > < a href = "#select-menu" > Select menu< / a > < / li >
< / ul >
< / li >
< li class = "toc-entry toc-h2" > < a href = "#validators" > Validators< / a > < / li >
< / ul >
< / div >
< main class = "col-12 col-md-9 col-xl-8 py-md-3 pl-md-5 bd-content" role = "main" >
< h1 class = "bd-title" id = "content" > Browsers and devices< / h1 >
2017-10-19 21:22:00 +02:00
< p class = "bd-lead" > Learn about the browsers and devices, from modern to old, that are supported by Bootstrap, including known quirks and bugs for each.< / p >
< script async src = "https://cdn.carbonads.com/carbon.js?zoneid=1673&serve=C6AILKT&placement=getbootstrapcom" id = "_carbonads_js" > < / script >
2017-08-11 06:04:59 +02:00
< h2 id = "supported-browsers" > Supported browsers< / h2 >
< p > Bootstrap supports the < strong > latest, stable releases< / strong > of all major browsers and platforms. On Windows, < strong > we support Internet Explorer 10-11 / Microsoft Edge< / strong > .< / p >
< p > Alternative browsers which use the latest version of WebKit, Blink, or Gecko, whether directly or via the platform’ s web view API, are not explicitly supported. However, Bootstrap should (in most cases) display and function correctly in these browsers as well. More specific support information is provided below.< / p >
< h3 id = "mobile-devices" > Mobile devices< / h3 >
< p > Generally speaking, Bootstrap supports the latest versions of each major platform’ s default browsers. Note that proxy browsers (such as Opera Mini, Opera Mobile’ s Turbo mode, UC Browser Mini, Amazon Silk) are not supported.< / p >
2017-12-28 18:55:44 +01:00
< table class = "table table-bordered table-striped" >
2017-08-11 06:04:59 +02:00
< thead >
< tr >
< td > < / td >
< th > Chrome< / th >
< th > Firefox< / th >
< th > Safari< / th >
< th > Android Browser & WebView< / th >
< th > Microsoft Edge< / th >
< / tr >
< / thead >
< tbody >
< tr >
< th scope = "row" > Android< / th >
< td class = "text-success" > Supported< / td >
< td class = "text-success" > Supported< / td >
< td class = "text-muted" > N/A< / td >
< td class = "text-success" > Android v5.0+ supported< / td >
2017-12-28 18:55:44 +01:00
< td class = "text-success" > Supported< / td >
2017-08-11 06:04:59 +02:00
< / tr >
< tr >
< th scope = "row" > iOS< / th >
< td class = "text-success" > Supported< / td >
< td class = "text-success" > Supported< / td >
< td class = "text-success" > Supported< / td >
< td class = "text-muted" > N/A< / td >
2017-12-28 18:55:44 +01:00
< td class = "text-success" > Supported< / td >
2017-08-11 06:04:59 +02:00
< / tr >
< tr >
< th scope = "row" > Windows 10 Mobile< / th >
< td class = "text-muted" > N/A< / td >
< td class = "text-muted" > N/A< / td >
< td class = "text-muted" > N/A< / td >
< td class = "text-muted" > N/A< / td >
< td class = "text-success" > Supported< / td >
< / tr >
< / tbody >
< / table >
< h3 id = "desktop-browsers" > Desktop browsers< / h3 >
< p > Similarly, the latest versions of most desktop browsers are supported.< / p >
2017-12-28 18:55:44 +01:00
< table class = "table table-bordered table-striped" >
2017-08-11 06:04:59 +02:00
< thead >
< tr >
< td > < / td >
< th > Chrome< / th >
< th > Firefox< / th >
< th > Internet Explorer< / th >
< th > Microsoft Edge< / th >
< th > Opera< / th >
< th > Safari< / th >
< / tr >
< / thead >
< tbody >
< tr >
< th scope = "row" > Mac< / th >
< td class = "text-success" > Supported< / td >
< td class = "text-success" > Supported< / td >
< td class = "text-muted" > N/A< / td >
< td class = "text-muted" > N/A< / td >
< td class = "text-success" > Supported< / td >
< td class = "text-success" > Supported< / td >
< / tr >
< tr >
< th scope = "row" > Windows< / th >
< td class = "text-success" > Supported< / td >
< td class = "text-success" > Supported< / td >
< td class = "text-success" > Supported, IE10+< / td >
< td class = "text-success" > Supported< / td >
< td class = "text-success" > Supported< / td >
< td class = "text-danger" > Not supported< / td >
< / tr >
< / tbody >
< / table >
< p > For Firefox, in addition to the latest normal stable release, we also support the latest < a href = "https://www.mozilla.org/en-US/firefox/organizations/faq/" > Extended Support Release (ESR)< / a > version of Firefox.< / p >
< p > Unofficially, Bootstrap should look and behave well enough in Chromium and Chrome for Linux, Firefox for Linux, and Internet Explorer 9, though they are not officially supported.< / p >
< p > For a list of some of the browser bugs that Bootstrap has to grapple with, see our < a href = "/docs/4.0/browser-bugs/" > Wall of browser bugs< / a > .< / p >
< h2 id = "internet-explorer" > Internet Explorer< / h2 >
2017-10-19 21:22:00 +02:00
< p > Internet Explorer 10+ is supported; IE9 and down is not. Please be aware that some CSS3 properties and HTML5 elements are not fully supported in IE10, or require prefixed properties for full functionality. Visit < a href = "https://caniuse.com/" > Can I use…< / a > for details on browser support of CSS3 and HTML5 features.< / p >
2017-08-11 06:04:59 +02:00
< p > < strong > If you require IE8-9 support, use Bootstrap 3.< / strong > It’ s the most stable version of our code and is still supported by our team for critical bugfixes and documentation changes. However, no new features will be added to it.< / p >
< h2 id = "modals-and-dropdowns-on-mobile" > Modals and dropdowns on mobile< / h2 >
< h3 id = "overflow-and-scrolling" > Overflow and scrolling< / h3 >
< p > Support for < code class = "highlighter-rouge" > overflow: hidden;< / code > on the < code class = "highlighter-rouge" > < body> < / code > element is quite limited in iOS and Android. To that end, when you scroll past the top or bottom of a modal in either of those devices’ browsers, the < code class = "highlighter-rouge" > < body> < / code > content will begin to scroll. See < a href = "https://bugs.chromium.org/p/chromium/issues/detail?id=175502" > Chrome bug #175502< / a > (fixed in Chrome v40) and < a href = "https://bugs.webkit.org/show_bug.cgi?id=153852" > WebKit bug #153852< / a > .< / p >
< h3 id = "ios-text-fields-and-scrolling" > iOS text fields and scrolling< / h3 >
< p > As of iOS 9.2, while a modal is open, if the initial touch of a scroll gesture is within the boundary of a textual < code class = "highlighter-rouge" > < input> < / code > or a < code class = "highlighter-rouge" > < textarea> < / code > , the < code class = "highlighter-rouge" > < body> < / code > content underneath the modal will be scrolled instead of the modal itself. See < a href = "https://bugs.webkit.org/show_bug.cgi?id=153856" > WebKit bug #153856< / a > .< / p >
< h3 id = "navbar-dropdowns" > Navbar Dropdowns< / h3 >
< p > The < code class = "highlighter-rouge" > .dropdown-backdrop< / code > element isn’ t used on iOS in the nav because of the complexity of z-indexing. Thus, to close dropdowns in navbars, you must directly click the dropdown element (or < a href = "https://developer.mozilla.org/en-US/docs/Web/Events/click#Safari_Mobile" > any other element which will fire a click event in iOS< / a > ).< / p >
< h2 id = "browser-zooming" > Browser zooming< / h2 >
< p > Page zooming inevitably presents rendering artifacts in some components, both in Bootstrap and the rest of the web. Depending on the issue, we may be able to fix it (search first and then open an issue if need be). However, we tend to ignore these as they often have no direct solution other than hacky workarounds.< / p >
2018-01-18 19:32:35 +01:00
< h2 id = "sticky-hoverfocus-on-ios" > Sticky < code class = "highlighter-rouge" > :hover< / code > /< code class = "highlighter-rouge" > :focus< / code > on iOS< / h2 >
2017-10-19 21:22:00 +02:00
2018-01-18 19:32:35 +01:00
< p > While < code class = "highlighter-rouge" > :hover< / code > isn’ t possible on most touch devices, iOS emulates this behavior, resulting in “sticky” hover styles that persist after tapping one element. These hover styles are only removed when users tap another element. This behavior is considered largely undesirable and appears to not be an issue on Android or Windows devices.< / p >
2017-08-11 06:04:59 +02:00
2018-01-18 19:32:35 +01:00
< p > Throughout our v4 alpha and beta releases, we included incomplete and commented out code for opting into a media query shim that would disable hover styles in touch device browsers that emulate hovering. This work was never fully completed or enabled, but to avoid complete breakage, we’ ve opted to deprecate < a href = "https://github.com/twbs/mq4-hover-shim" > this shim< / a > and keep the mixins as shortcuts for the pseudo-classes.< / p >
2017-08-11 06:04:59 +02:00
< h2 id = "printing" > Printing< / h2 >
< p > Even in some modern browsers, printing can be quirky.< / p >
< p > As of Safari v8.0, use of the fixed-width < code class = "highlighter-rouge" > .container< / code > class can cause Safari to use an unusually small font size when printing. See < a href = "https://github.com/twbs/bootstrap/issues/14868" > issue #14868< / a > and < a href = "https://bugs.webkit.org/show_bug.cgi?id=138192" > WebKit bug #138192< / a > for more details. One potential workaround is the following CSS:< / p >
< figure class = "highlight" > < pre > < code class = "language-css" data-lang = "css" > < span class = "k" > @media< / span > < span class = "n" > print< / span > < span class = "p" > {< / span >
< span class = "nc" > .container< / span > < span class = "p" > {< / span >
< span class = "nl" > width< / span > < span class = "p" > :< / span > < span class = "nb" > auto< / span > < span class = "p" > ;< / span >
< span class = "p" > }< / span >
< span class = "p" > }< / span > < / code > < / pre > < / figure >
< h2 id = "android-stock-browser" > Android stock browser< / h2 >
< p > Out of the box, Android 4.1 (and even some newer releases apparently) ship with the Browser app as the default web browser of choice (as opposed to Chrome). Unfortunately, the Browser app has lots of bugs and inconsistencies with CSS in general.< / p >
< h4 id = "select-menu" > Select menu< / h4 >
< p > On < code class = "highlighter-rouge" > < select> < / code > elements, the Android stock browser will not display the side controls if there is a < code class = "highlighter-rouge" > border-radius< / code > and/or < code class = "highlighter-rouge" > border< / code > applied. (See < a href = "https://stackoverflow.com/questions/14744437/html-select-box-not-showing-drop-down-arrow-on-android-version-4-0-when-set-with" > this StackOverflow question< / a > for details.) Use the snippet of code below to remove the offending CSS and render the < code class = "highlighter-rouge" > < select> < / code > as an unstyled element on the Android stock browser. The user agent sniffing avoids interference with Chrome, Safari, and Mozilla browsers.< / p >
< figure class = "highlight" > < pre > < code class = "language-html" data-lang = "html" > < span class = "nt" > < script> < / span >
< span class = "nx" > $< / span > < span class = "p" > (< / span > < span class = "kd" > function< / span > < span class = "p" > ()< / span > < span class = "p" > {< / span >
2017-10-19 21:22:00 +02:00
< span class = "kd" > var< / span > < span class = "nx" > nua< / span > < span class = "o" > =< / span > < span class = "nb" > navigator< / span > < span class = "p" > .< / span > < span class = "nx" > userAgent< / span >
2017-08-11 06:04:59 +02:00
< span class = "kd" > var< / span > < span class = "nx" > isAndroid< / span > < span class = "o" > =< / span > < span class = "p" > (< / span > < span class = "nx" > nua< / span > < span class = "p" > .< / span > < span class = "nx" > indexOf< / span > < span class = "p" > (< / span > < span class = "s1" > 'Mozilla/5.0'< / span > < span class = "p" > )< / span > < span class = "o" > > < / span > < span class = "o" > -< / span > < span class = "mi" > 1< / span > < span class = "o" > & & < / span > < span class = "nx" > nua< / span > < span class = "p" > .< / span > < span class = "nx" > indexOf< / span > < span class = "p" > (< / span > < span class = "s1" > 'Android '< / span > < span class = "p" > )< / span > < span class = "o" > > < / span > < span class = "o" > -< / span > < span class = "mi" > 1< / span > < span class = "o" > & & < / span > < span class = "nx" > nua< / span > < span class = "p" > .< / span > < span class = "nx" > indexOf< / span > < span class = "p" > (< / span > < span class = "s1" > 'AppleWebKit'< / span > < span class = "p" > )< / span > < span class = "o" > > < / span > < span class = "o" > -< / span > < span class = "mi" > 1< / span > < span class = "o" > & & < / span > < span class = "nx" > nua< / span > < span class = "p" > .< / span > < span class = "nx" > indexOf< / span > < span class = "p" > (< / span > < span class = "s1" > 'Chrome'< / span > < span class = "p" > )< / span > < span class = "o" > ===< / span > < span class = "o" > -< / span > < span class = "mi" > 1< / span > < span class = "p" > )< / span >
< span class = "k" > if< / span > < span class = "p" > (< / span > < span class = "nx" > isAndroid< / span > < span class = "p" > )< / span > < span class = "p" > {< / span >
< span class = "nx" > $< / span > < span class = "p" > (< / span > < span class = "s1" > 'select.form-control'< / span > < span class = "p" > ).< / span > < span class = "nx" > removeClass< / span > < span class = "p" > (< / span > < span class = "s1" > 'form-control'< / span > < span class = "p" > ).< / span > < span class = "nx" > css< / span > < span class = "p" > (< / span > < span class = "s1" > 'width'< / span > < span class = "p" > ,< / span > < span class = "s1" > '100%'< / span > < span class = "p" > )< / span >
< span class = "p" > }< / span >
< span class = "p" > })< / span >
< span class = "nt" > < /script> < / span > < / code > < / pre > < / figure >
< p > Want to see an example? < a href = "http://jsbin.com/OyaqoDO/2" > Check out this JS Bin demo.< / a > < / p >
< h2 id = "validators" > Validators< / h2 >
2017-10-19 21:22:00 +02:00
< p > In order to provide the best possible experience to old and buggy browsers, Bootstrap uses < a href = "http://browserhacks.com/" > CSS browser hacks< / a > in several places to target special CSS to certain browser versions in order to work around bugs in the browsers themselves. These hacks understandably cause CSS validators to complain that they are invalid. In a couple places, we also use bleeding-edge CSS features that aren’ t yet fully standardized, but these are used purely for progressive enhancement.< / p >
2017-08-11 06:04:59 +02:00
< p > These validation warnings don’ t matter in practice since the non-hacky portion of our CSS does fully validate and the hacky portions don’ t interfere with the proper functioning of the non-hacky portion, hence why we deliberately ignore these particular warnings.< / p >
< p > Our HTML docs likewise have some trivial and inconsequential HTML validation warnings due to our inclusion of a workaround for < a href = "https://bugzilla.mozilla.org/show_bug.cgi?id=654072" > a certain Firefox bug< / a > .< / p >
< / main >
< / div >
< / div >
< script src = "https://code.jquery.com/jquery-3.2.1.slim.min.js" integrity = "sha384-KJ3o2DKtIkvYIK3UENzmM7KCkRr/rE9/Qpg6aAZGJwFDMVNA/GpGFF93hXpG5KkN" crossorigin = "anonymous" > < / script >
2018-04-09 21:48:24 +02:00
< script > window . jQuery || document . write ( '<script src="/docs/4.0/assets/js/vendor/jquery-slim.min.js"><\/script>' ) < / script >
2017-08-11 06:04:59 +02:00
2018-04-09 22:16:07 +02:00
< script src = "/docs/4.0/assets/js/vendor/popper.min.js" integrity = "sha384-ApNbgh9B+Y1QKtv3Rn7W3mgPxhU9K/ScQsAP7hUibX39j7fakFPskvXusvfa0b4Q" crossorigin = "anonymous" > < / script > < script src = "/docs/4.0/dist/js/bootstrap.min.js" integrity = "sha384-JZR6Spejh4U02d8jOt6vLEHfe/JQGiRRSQQxSfFWpi1MquVdAyjUar5+76PVCmYl" crossorigin = "anonymous" > < / script > < script src = "https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.js" > < / script > < script src = "/docs/4.0/assets/js/docs.min.js" > < / script >
2017-08-11 06:04:59 +02:00
< / body >
< / html >