Pokud je podobnost, jsem poctěn, pokud bude znovu vydáno, prosím uveďte to Řešení, jak udělat IE6, IE7, IE8, IE9, IE10, IE11 podporou Bootstrapu
Nedávno jsem vytvořil webovou stránku, vždy jsem měl pocit, že bootstrap je velmi dobrý. Tentokrát jsem použil bootstrap3, Chrome, Firefox, Safari, Opera, 360 prohlížeč (režim rychlosti), prohlížeč Sogou a další prohlížeče nemají žádné problémy. A pod IE8 a IE11 jsem zjistil, že styl nelze zobrazit. Pak různé Baidu. Nakonec s pomocí příspěvku na internetu Yapeng.com problém vyřešily. Viz také Qianxun Learning Network. Řešení je shrnuto následovně:
Nejprve se ujistěte, že vaše HTML stránka začíná deklarací DOCTYPE. DOCTYPE říká prohlížeči, jakou specifikaci HTML nebo XHTML má použít k analýze HTML dokumentu, což ovlivňuje následující faktory: Omezení na atributy a vlastnosti značek Ovlivňuje režim vykreslování prohlížeče a různé režimy vykreslování ovlivňují parsování CSS kódu a dokonce i JavaScript skriptů Javascrip{filter}t DOCTYPE je zásadní a současná nejlepší praxe je napsat na první řádek HTML dokumentu: <!DOCTYPE html>
Existuje několik důvodů, proč najít bootstrap, shrnutých v příspěvku o bohu, především byl Bootstrap3 vyvinut nejprve na principu mobilního zařízení, takže důvody mohou být následující: 1. Vzdálená adresa není volána správně To znamená, že pokud je to IE9 nebo nižší, volejte dva speciální js <!-- HTML5 Shim a Respond.js IE8 podporu HTML5 prvků a mediálních dotazů --> <!--[pokud je to 9]> <scrip{filter}t src="http://apps.bdimg.com/libs/html5shiv/3.7/html5shiv.min.js"></scrip{filter}t> <scrip{filter}t src="http://apps.bdimg.com/libs/respond.js/1.4.2/respond.min.js"></scrip{filter}t> <![endif]--> Ale otestoval jsem to a zjistil jsem, že použít jen výše uvedené js soubory není proveditelné, 2. Metoda volání je nesprávná Neodkazujte na respond.min.js, respond.js ani CSS soubory ve file:// ani @import formě
3. Identifikace obsahu prohlížeče (pomocí meta značek pro úpravu metody vykreslování prohlížeče) Bootstrap nepodporuje režim kompatibility s IE, a aby IE mohl spustit nejnovější režim vykreslování, budou na stránku přidány následující značky
IE=edge znamená, že nejnovější jádro IE je nucené, a chrome=1 znamená, že pokud je nainstalován prohlížečový plugin Google Chrome Frame pro IE6/7/8 a další verze (což může způsobit, že uživatelův prohlížeč vypadá stále jako menu a rozhraní IE, ale uživatel ve skutečnosti používá jádro prohlížeče Chrome při prohlížení webu), pak se jádro Chrome používá k vykreslení. Pro konkrétní vysvětlení tohoto meta tagu viz skvělá odpověď na StackOverflow a <meta>anglické vysvětlení tag experta najdete zde
http://stackoverflow.com/questions/6771258/whats-the-difference-if-meta-http-equiv-x-ua-compatible-content-ie-edge-e Dodal jsem <meta http-equiv="X-UA-kompatibilní" obsah="IE=9" /> A pak už to máte Jádro ovládá meta tag, protože současné běžné prohlížeče v Číně jsou dual kernely, takže meta tag je přidán, aby prohlížeči řekl, jaké jádro má použít k vykreslení stránky
4. IE8 nepodporuje několik vlastností kontejnerů IE8 plně nepodporuje velikost boxu: okrajový box se používá s min-width, max-width, min-height nebo max-height. Proto kontejnerová třída v bootstrapu v3.0.1 již nepoužívá maximální šířku.
5.JS problém způsobený pořadím, v jakém je CSS zaváděn Musíte citovat css, než budete odkazovat na js <link rel="stylesheet" type="text/css" href="bootstrap.min.css" media="screen"/> <scrip{filter}t type="text/javascrip{filter}t" src="js/respond.min.js"></scrip{filter}t>
6. DOCTYPE má prázdné řádky před a za <!DOCTYPE html> Není v pořádku mít zde mezery, musíte je odstranit <html>
7. Můžete také upravovat bootstrap.css ručně Pokud používáte bootstrap 2.1.1, úprava navbar-inner{ filter:none} může problém vyřešit, pokud používáte verzi 3.0+, není tam žádný kód, podrobnosti najdete v propojení
http://stackoverflow.com/questions/12460190/bootstrap-navbar-does-not-show-in-ie8
8. Používejte režim quirků Při definování webové stránky je režim, který je zpětně kompatibilní se staršími prohlížeči, režim zvláštností, a odpovídající "standardní režim" je standardní režim. Konkrétně <!DOCTYPE html> je napsán jako dříve <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> Testoval jsem to, ale není to proveditelné
Nakonec jsem testoval pod IE11, ale testoval jsem to pod IE8 a našel problém, že placeholder není podporován Tady je, jak vyřešit podporu IE pro zástupné předměty jquery, na který se v tomto článku odkazuje, je testován v 1.11.1 a jquery je uveden jako první <scrip{filter}t type="text/javascrip{filter}t" src="http://code.jquery.com/jquery-1.11.1.min.js"></scrip{filter}t> Můžete také použít jiné verze jquery Pak zaveďte <scrip{filter}t type="text/javascrip{filter}t" src="js/jquery.placeholder.js"></scrip{filter}t> jquery.placeholder.js adresu ke stažení tohoto souboru https://github.com/mathiasbynens/jquery-placeholder Pak přidejte do souboru nějaký kód <scrip{filter}t type="text/javascrip{filter}t"> $(funkce () { Spustit plugin $('input, textarea').placeholder(); }); </scrip{filter}t> Pokud jsem zde zapojený nebo pokud je problém stále nevyřešený, prosím přesuňte se http://hustlzp.com/post/2014/01/ie8-compatibility více podrobností
Výše uvedené testy IE6, 7, 8, 9, 10, 11, Chrome, Firefox, Safari a Opera, prohlížeč 360 (režim rychlosti), Sogou prohlížeč prošel, jen IE5.5 se zdá být neproveditelný, stručně řečeno, problém je vyřešen, všichni zlí IE6 – říkejte tomu sójová omáčka
Pokud jquery.placeholder.js nechcete používat, už nemůžete podporovat implementace zástupné emulace v prohlížečích Můžete se podívat na tento článek pro velmi podrobný http://ju.outofmemory.cn/entry/1595 |