Ако има прилика, за мен е чест, ако бъде препечатана, моля, посочете Решение за поддръжка на IE6 IE7 IE8 IE9 IE10 IE11 за Bootstrap
Наскоро направих уебсайт. Винаги съм смятал, че bootstrap е много добър. Този път използвах bootstrap3, Chrome, Firefox, Safari, Opera, браузър 360 (скоростен режим), браузърът Sogou и другите браузъри нямат проблеми, а при IE8 и IE11 установих, че стилът не може да се покаже. След това различни Baidu. Накрая с помощта на публикация в мрежата Yapeng.com реши проблема. Вижте и Qianxun Learning Network. Решението е обобщено по следния начин:
Първо, уверете се, че вашата HTML страница започва с декларация за DOCTYPE. DOCTYPE казва на браузъра каква HTML или XHTML спецификация да използва за парсиране на HTML документ, което влияе на следните фактори: Ограничения върху тагове, атрибути и свойства Влияе на режима на рендериране в браузъра, а различните режими на рендериране влияят на разбора на CSS код и дори на Javascrip{filter}t скриптове DOCTYPE е от решаващо значение и настоящата най-добра практика е да се напише на първия ред на HTML документа: <!DOCTYPE html>
Има няколко причини за намиране на bootstrap, обобщени в публикацията на бога; първо, Bootstrap3 е разработен на принципа "мобилно устройство първо", така че причините може да са следните: 1. Отдалеченият адрес не се извиква правилно Тоест, стига да е IE9 или по-нисък, да се извикат две специални j <!-- HTML5 Shim и Respond.js IE8 поддръжка на HTML5 елементи и медийни заявки --> <!--[ако е IE 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]--> Но тествах и установих, че само използването на горните js файлове не е възможно, 2. Методът на извикване е неправилен Не се позовавайте на respond.min.js, respond.js или CSS файлове в file:// или @import форма
3. Идентифициране на съдържанието на браузъра (използване на мета тагове за настройка на метода на рендериране в браузъра) Bootstrap не поддържа режим на съвместимост с IE, и за да може IE да стартира най-новия рендеринг режим, следните тагове ще бъдат добавени към страницата
IE=edge означава, че най-новото IE ядро е принудително, а chrome=1 означава, че ако браузърният плъгин Google Chrome Frame за IE6/7/8 и други версии е инсталиран (което може да направи браузъра на потребителя да изглежда все още като менюто и интерфейса на IE, но всъщност потребителят използва ядрото на браузъра Chrome при сърфиране в интернет), тогава ядрото на Chrome се използва за рендериране. За конкретно обяснение на този метатаг, вижте отличния отговор в StackOverflow, а <meta>английското обяснение на експерта по тагове може да бъде намерено тук
http://stackoverflow.com/questions/6771258/whats-the-difference-if-meta-http-equiv-x-ua-compatible-content-ie-edge-e Добавих <meta http-equiv="X-UA-Compatible" content="IE=9" /> И ето го Ядрото контролира мета тага, тъй като настоящите основни браузъри в Китай са двойни ядра, затова мета тагът се добавя, за да каже на браузъра кое ядро да използва за рендериране на страницата
4. IE8 не поддържа няколко свойства на контейнери IE8 не поддържа напълно box-sizeing: border-box се използва с минимална ширина, максимална ширина, минимална височина или максимална височина. Затова контейнерният клас в bootstrap v3.0.1 вече не използва max-width.
5.JS проблем, причинен от реда, в който се въвежда CSS Трябва да цитираш css, преди да се позоваваш на 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 има празни редове преди и след <!DOCTYPE html> Не е приемливо да има празнини тук, трябва да ги премахнеш <html>
7. Можете също да променяте bootstrap.css ръчно Ако използвате bootstrap 2.1.1, модифицирането на navbar-inner{filter:none} може да реши проблема, ако използвате версия 3.0+, няма код, моля, вижте връзката за подробности
http://stackoverflow.com/questions/12460190/bootstrap-navbar-does-not-show-in-ie8
8. Използвайте режим на куиркове При дефиниране на уеб страница, режимът, който е обратно съвместим с по-старите браузъри, е режим quirks, а съответният "стандартен режим" е стандартен режим. По-конкретно, <!DOCTYPE html> е написан както преди <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> Тествах това, но не е осъществимо
Накрая тествах под IE11, но тествах под IE8 и открих проблем, че временната система не се поддържа Ето как да решите проблема с поддръжката на IE за заместители jquery, цитиран в тази статия, е тестван в 1.11.1, като jquery е рефериран първи. <scrip{filter}t type="text/javascrip{filter}t" src="http://code.jquery.com/jquery-1.11.1.min.js"></scrip{filter}t> Можете да използвате и други версии на jquery След това въведете <scrip{filter}t type="text/javascrip{filter}t" src="js/jquery.placeholder.js"></scrip{filter}t> jquery.placeholder.js адрес за изтегляне на този файл https://github.com/mathiasbynens/jquery-placeholder След това добави малко код към файла <scrip{filter}t type="text/javascrip{filter}t"> $(функция () { Извикай плъгина $('input, textarea').placeholder(); }); </scrip{filter}t> Ако съм замесен тук или ако проблемът все още не е решен, моля, преместете http://hustlzp.com/post/2014/01/ie8-compatibility повече подробности
Горните IE6, 7, 8, 9, 10, 11, chrome, firefox, safari, opera, браузър 360 (скоростен режим), тестовете на браузъра Sogou преминаха, само IE5.5 изглежда невъзможен, накратко, проблемът е решен тук, всички зли IE6 – наречете го соев сос
Ако не искате да използвате jquery.placeholder.js, вече не можете да поддържате имплементации на емулатори чрез браузъри Можете да се обърнете към тази статия за много подробен http://ju.outofmemory.cn/entry/1595 |