bootstrap3 兼容IE8浏览器!
近期在使用bootstrap这个优秀的前端框架,这个框架非常强大,框架里面有下拉菜单、按钮组、按钮下拉菜单、导航、导航条、面包屑、分页、排版、缩略图、警告对话框、进度条、媒体对象等,bootstrap都已经预先定义好了,当我们制作网页上,只需直接调用里面的css即可
bootstrap是一个响应式的布局,你可以在宽屏电脑、普通电脑,平板电脑,手机上都得到非常优秀的布局体验。这种响应式的布局正是通过CSS3的媒体查询(MediaQuery)功能实现的,根据不同的分辨率来匹配不同的样式。IE8浏览器并不支持这一优秀的Css3特性,Bootstrap在开发文档中写了如何使用进行兼容IE8,如果想兼容IE6,IE7,可以搜索bsie(bootstrap2)
Bootstrap在IE8中肯定不如Chrome、Firefox、IE11那么完美,部分组件不保证完全兼容,还是要Hack的
1、使用html5声明
<!DOCTYPEhtml> 这里不可以有空格 <html>
注:写成<!DOCTYPEHTMLPUBLIC"-//W3C//DTDHTML4.01//EN""http://www.w3.org/TR/html4/strict.dtd">是不可行的
2、加入meta标签
确定显示此网页的IE版本
<metahttp-equiv="X-UA-Compatible"content="IE=edge,Chrome=1"/> <metahttp-equiv="X-UA-Compatible"content="IE=9"/>
注:bootstrap不支持IE兼容模式,为了让IE浏览器运行最新的渲染模式,将添加以上标签在页面中,IE=edge表示强制使用IE最新内核,chrome=1表示如果安装了针对IE6/7/8等版本的浏览器插件GoogleChromeFrame
3、引入bootstrap文件
<linkhref="css/bootstrap/bootstrap.min.css"rel="stylesheet">
4、引入html5shiv.min.js和respond.min.js
让不(完全)支持html5的浏览器“支持”html5标签
<!--[ifltIE9]> <scriptsrc="js/bootstrap/html5shiv.min.js"></script> <scriptsrc="js/bootstrap/respond.min.js"></script> <![endif]-->
5、添加1.X版本的Jquery库
<scriptsrc="js/bootstrap/jquery-1.12.0.min.js"></script>
6、在IE8下测试,发现一个问题placeholder不被支持,下面是解决IE支持placeholder的方法,本文引用的jquery是1.12.0测试通过,先引用jquery
<scripttype="text/javascript"src="js/bootstrap/jquery-1.12.0.min.js"></script> <scriptsrc="bootstrap/js/bootstrap.min.js"></script>
也可以用其他的jquery版本,再引入
[code]<scripttype="text/javascript"src="js/bootstrap/jquery.placeholder.js"></script>
然后在文件中加入一下代码
<scripttype="text/javascript"> $(function(){ $('input,textarea').placeholder(); }); </script>
代码总结如下:
<!DOCTYPEhtml> <htmllang="zh-CN"> <head> <metacharset="UTF-8"> <metaname="viewport"content="width=device-width,user-scalable=no,initial-scale=1.0,maximum-scale=1.0,minimum-scale=1.0"> <metahttp-equiv="X-UA-Compatible"content="IE=edge,Chrome=1"/> <metaname="author"content="zhy"/> <title>ie8</title> <linkrel="stylesheet"href="css/bootstrap/bootstrap.min.css"> <!--[iflteIE9]> <scriptsrc=js/bootstrap/respond.min.js"></script> <scriptsrc=js/bootstrap/html5shiv.min.js"></script> <![endif]--> <scriptsrc="js/bootstrap/jquery-1.12.0.min.js"></script> <scriptsrc="js/bootstrap/bootstrap.min.js"></script> </head> <body> </body> </html>
附注:
1、IE下判断IE版本的语句
<!--[iflteIE6]> <![endif]--> IE6及其以下版本可见 <!--[iflteIE7]> <![endif]--> IE7及其以下版本可见 <!--[ifIE6]> <![endif]--> 只有IE6版本可见 <![if!IE]> <![endif]> 除了IE以外的版本 <!--[ifltIE8]> <![endif]--> IE8以下的版本可见 <!--[ifgteIE7]> <![endif]-->
IE7及大于IE7的版本可见
lte:就是Lessthanorequalto的简写,也就是小于或等于的意思。
lt:就是Lessthan的简写,也就是小于的意思。
gte:就是Greaterthanorequalto的简写,也就是大于或等于的意思。
gt:就是Greaterthan的简写,也就是大于的意思。
!:就是不等于的意思,跟javascript里的不等于判断符相同
如果大家还想深入学习,可以点击这里进行学习,再为大家附3个精彩的专题:
Bootstrap学习教程
Bootstrap实战教程
Bootstrap插件使用教程
以上就是本文的全部内容,希望对大家的学习有所帮助。