The solution to the problem that bootstrap does not support IE: first ensure that there is a DOCTYPE statement at the beginning of the HTML page; then call the remote address correctly and mark the content of the browser; finally check and modify the corresponding js or css file That’s it.
#The operating environment of this article: Windows7 system, bootstrap3, Dell G3 computer.
bootstrap has certain compatibility issues with browsers below IE9. To solve this compatibility issue, relevant js files must be introduced and processed accordingly. The following article will introduce to you the solution to the problem that bootstrap does not support IE. I hope it will be helpful to you.
First you need to make sure there is a DOCTYPE statement at the beginning of your HTML page. DOCTYPE tells the browser what kind of HTML or XHTML specification to use to parse HTML documents. It will specifically affect:
Constraint rules for marking attributes and properties
Have an impact on the browser's rendering mode. Different rendering modes will affect the browser's parsing of CSS codes and even JavaScript scripts.
DOCTYPE is very critical. The current best practice is to type in the first line of the HTML document:
<!DOCTYPE html>
The master's post summarized several reasons for bootstrap search. First of all, Bootstrap3 was developed with the principle of mobile devices first, so the reasons may be as follows:
1. The remote address is not called correctly
That is, as long as If it is below IE9, just call two special js
<!-- HTML5 Shim and Respond.js IE8 support of HTML5 elements and media queries --> <!--[if lt IE 9]> <script src="http://apps.bdimg.com/libs/html5shiv/3.7/html5shiv.min.js"></script> <script src="http://apps.bdimg.com/libs/respond.js/1.4.2/respond.min.js"></script> <![endif]-->
But I tested and found that just using the above js files is not feasible.
Recommended: "bootstrap tutorial"
2. The calling method is incorrect
Do not use file:// or @import form to reference respond.min.js or respond.js or css files
3. For browsers Mark the content (use meta tags to adjust the browser's rendering mode)
bootstrap does not support IE compatibility mode. In order to allow IE browser to run the latest rendering mode, the following tags will be added to the page
<meta http-equiv="X-UA-Compatible" content="IE=edge,Chrome=1" />
IE=edge means to force the use of the latest IE kernel, chrome=1 means that if the browser plug-in Google Chrome Frame for IE6/7/8 and other versions is installed (it allows the user's browser to still look like IE's menu and interface , but when users browse web pages, they are actually using the Chrome browser kernel), then the Chrome kernel is used for rendering. For a detailed explanation of this meta tag, please refer to the wonderful answers on StackOverflow. For an expert explanation of the tag in English, please refer to
http://stackoverflow.com/questions/6771258/whats-the-difference-if-meta-http-equiv-x-ua-compatible-content-ie-edge-e
. I added a sentence
<meta http-equiv="X-UA-Compatible" content="IE=9" />
and then you can
Kernel control Meta tag, because the current domestic mainstream browsers are dual-core, so the meta tag is added to tell the browser which core to use to render the page
4. IE8 does not support container Several attributes
IE8 does not fully support box-sizing: border-box is used with min-width, max-width, min-height or max-height. Therefore, bootstrap v3.0.1 supports The container class no longer uses max-width.
5. Problems caused by the order in which JS and CSS are introduced
Must quote css first and then quote js
<link rel="stylesheet" type="text/css" href="bootstrap.min.css" media="screen"/> <script type="text/javascript" src="js/respond.min.js"></script>
6. There are blank lines before and after DOCTYPE
<!DOCTYPE html> 这里有空格也不行,要去掉空格
7. You can also manually modify bootstrap.css
If you are using bootstrap2.1.1, modifying navbar-inner{ filter:none} can solve the problem. If you are using version 3.0, there is no this paragraph. Code, please see the link for detailed introduction
http://stackoverflow.com/questions/12460190/bootstrap-navbar-does-not-show-in-ie8
8. Using quirks mode (compatibility mode)
When defining a web page, the mode for backward compatibility with old browsers is quirks mode, which corresponds to it The "standard mode" is standard mode. Specifically, write <!DOCTYPE html> as before.
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
I have tested this, but it is not feasible.
Finally, I passed the test under IE11, but when I tested it under IE8, I found something. A problem is that placeholder is not supported
The following is a method to solve the problem of IE supporting placeholder
The jquery cited in this article is 1.11.1 and passed the test. It can also be used by citing jquery
<script type="text/javascript" src="http://code.jquery.com/jquery-1.11.1.min.js"></script>
Other jquery versions
Introduce
<script type="text/javascript" src="js/jquery.placeholder.js"></script>
The download address of jquery.placeholder.js file https://github.com/mathiasbynens/jquery-placeholder
and then Add some code to the file
<script type="text/javascript"> $(function () { // Invoke the plugin $('input, textarea').placeholder(); }); </script>
If I am involved here or the problem is still unresolved, please go to http://hustlzp.com/post/2014/01/ie8-compatibility for more details
The above is the detailed content of What should I do if bootstrap does not support IE?. For more information, please follow other related articles on the PHP Chinese website!