Browser n’ebyuma ebikozesebwa
Manya ku browser n’ebyuma, okuva ku mulembe okutuuka ku bikadde, ebiwagirwa Bootstrap, omuli quirks n’obuzibu ebimanyiddwa ku buli kimu.
Browser eziwagirwa
Bootstrap ewagira ebifulumizibwa ebisembyeyo, ebitebenkedde ebya browser ne platforms zonna enkulu. Ku Windows, tuwagira Internet Explorer 10-11 / Microsoft Edge .
Browser endala ezikozesa enkyusa ya WebKit, Blink, oba Gecko eyasembyeyo, oba butereevu oba nga ziyita mu API y’okulaba omukutu ku mukutu, teziwagirwa mu bulambulukufu. Naye, Bootstrap erina (mu mbeera ezisinga) okulaga era okukola obulungi mu browser zino nazo. Ebisingawo ebikwata ku buyambi biweereddwa wansi.
Osobola okusanga browser zaffe eziwagirwa n'enkyusa zazo mu yaffe.browserslistrc file
:
# https://github.com/browserslist/browserslist#readme
>= 1%
last 1 major version
not dead
Chrome >= 45
Firefox >= 38
Edge >= 12
Explorer >= 10
iOS >= 9
Safari >= 9
Android >= 4.4
Opera >= 30
Tukozesa Autoprefixer okukwata obuwagizi bwa browser obugendereddwa nga tuyita mu CSS prefixes, ekozesa Browserslist okuddukanya enkyusa za browser zino. Weebuuze ku biwandiiko byabwe ku ngeri y’okugatta ebikozesebwa bino mu pulojekiti zo.
Ebyuma ebikozesebwa ku ssimu
Okutwaliza awamu, Bootstrap ewagira enkyusa ezisembyeyo eza buli mukutu omukulu ogwa browser ezisookerwako. Weetegereze nti proxy browsers (nga Opera Mini, Opera Mobile's Turbo mode, UC Browser Mini, Amazon Silk) teziwagirwa.
Chrome | Firefox yaayo | Safari | Android Browser & Okulaba ku mukutu gwa yintaneeti | Microsoft Edge | |
---|---|---|---|---|---|
Android | Ewagirwa | Ewagirwa | N/A | Android v5.0+ ewagirwa | Ewagirwa |
iOS | Ewagirwa | Ewagirwa | Ewagirwa | N/A | Ewagirwa |
Windows 10 Essimu ey’omu ngalo | N/A | N/A | N/A | N/A | Ewagirwa |
Ebikozesebwa ku mmeeza
Mu ngeri y’emu, enkyusa ezisembyeyo eza desktop browser ezisinga ziwagirwa.
Chrome | Firefox yaayo | Internet Explorer | Microsoft Edge | Opera | Safari | |
---|---|---|---|---|---|---|
Mac | Ewagirwa | Ewagirwa | N/A | Ewagirwa | Ewagirwa | Ewagirwa |
Amadirisa | Ewagirwa | Ewagirwa | Ewagirwa, IE10+ | Ewagirwa | Ewagirwa | Tewagirwa |
Ku Firefox, ng’oggyeeko okufulumizibwa okwa bulijjo okutebenkedde okusembyeyo, era tuwagira enkyusa ya Firefox eya Extended Support Release (ESR) eyasembyeyo.
Mu ngeri etali ntongole, Bootstrap erina okulabika n’okweyisa obulungi ekimala mu Chromium ne Chrome ku Linux, Firefox ku Linux, ne Internet Explorer 9, wadde nga teziwagirwa mu butongole.
Olukalala lw’ebimu ku buzibu bwa bbulawuzi Bootstrap bw’erina okulwana nabyo, laba Bbugwe waffe ow’obuzibu bwa bbulawuzi .
Internet Explorer
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 Can I use… for details on browser support of CSS3 and HTML5 features. If you require IE8-9 support, use Bootstrap 3.
Modals and dropdowns on mobile
Overflow and scrolling
Support for overflow: hidden;
on the <body>
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 <body>
content will begin to scroll. See Chrome bug #175502 (fixed in Chrome v40) and WebKit bug #153852.
iOS text fields and scrolling
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 <input>
or a <textarea>
, the <body>
content underneath the modal will be scrolled instead of the modal itself. See WebKit bug #153856.
Navbar Dropdowns
The .dropdown-backdrop
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 any other element which will fire a click event in iOS).
Browser zooming
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.
Sticky :hover
/:focus
on iOS
While :hover
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.
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 this shim and keep the mixins as shortcuts for the pseudo-classes.
Printing
Even in some modern browsers, printing can be quirky.
As of Safari v8.0, use of the fixed-width .container
class can cause Safari to use an unusually small font size when printing. See issue #14868 and WebKit bug #138192 for more details. One potential workaround is the following CSS:
@media print {
.container {
width: auto;
}
}
Android stock browser
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.
Select menu
On <select>
elements, the Android stock browser will not display the side controls if there is a border-radius
and/or border
applied. (See this StackOverflow question for details.) Use the snippet of code below to remove the offending CSS and render the <select>
as an unstyled element on the Android stock browser. The user agent sniffing avoids interference with Chrome, Safari, and Mozilla browsers.
<script>
$(function () {
var nua = navigator.userAgent
var isAndroid = (nua.indexOf('Mozilla/5.0') > -1 && nua.indexOf('Android ') > -1 && nua.indexOf('AppleWebKit') > -1 && nua.indexOf('Chrome') === -1)
if (isAndroid) {
$('select.form-control').removeClass('form-control').css('width', '100%')
}
})
</script>
Want to see an example? Check out this JS Bin demo.
Validators
In order to provide the best possible experience to old and buggy browsers, Bootstrap uses CSS browser hacks 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.
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.
Ebiwandiiko byaffe ebya HTML nabyo birina okulabula okumu okutali kwa makulu era okutali kwa mugaso ku kukakasa HTML olw'okussaamu kwaffe eky'okugonjoola ekizibu ekimu ekya Firefox .