近期在使用bootstrap这个优秀的前端框架,这个框架非常强大,框架里面有下拉菜单、按钮组、按钮下拉菜单、导航、导航条、面包屑、分页、排版、缩略图、警告对话框、进度条、媒体对象等,bootstrap都已经预先定义好了,当我们制作网页上,只需直接调用里面的css即可
bootstrap是一个响应式的布局,你可以在宽屏电脑、普通电脑,平板电脑,手机上都得到非常优秀的布局体验 。这种响应式的布局正是通过CSS3的媒体查询(Media Query)功能实现的,根据不同的分辨率来匹配不同的样式 。IE8浏览器并不支持这一优秀的Css3特性,Bootstrap在开发文档中写了如何使用进行兼容IE8,如果想兼容IE6,IE7,可以搜索bsie (bootstrap2)
Bootstrap在IE8中肯定不如Chrome、Firefox、IE11那么完美,部分组件不保证完全兼容,还是要Hack的
1、使用html5声明
!DOCTYPE html这里不可以有空格html注:写成!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"是不可行的
2、加入meta标签
确定显示此网页的IE版本
meta http-equiv="X-UA-Compatible" content="IE=edge,Chrome=1" /meta http-equiv="X-UA-Compatible" content="IE=9" /注:bootstrap不支持IE兼容模式,为了让IE浏览器运行最新的渲染模式,将添加以上标签在页面中,IE=edge表示强制使用IE最新内核,chrome=1表示如果安装了针对IE6/7/8等版本的浏览器插件Google Chrome Frame
3、引入bootstrap文件
复制代码 代码如下:link href="https://www.rkxy.com.cn/dnjc/css/bootstrap/bootstrap.min.css" rel="stylesheet"
4、引入html5shiv.min.js和respond.min.js
让不(完全)支持html5的浏览器“支持”html5标签
!--[if lt IE 9]script src="/images/defaultpic.gif"/script![endif]--5、添加1.X版本的Jquery库
复制代码 代码如下:script src="/images/defaultpic.gif"/script
6、在IE8下测试,发现一个问题placeholder不被支持,下面是解决IE支持placeholder的方法,本文引用的jquery是1.12.0测试通过,先引用jquery
script type="text/javascript" src="/images/defaultpic.gif"/script也可以用其他的jquery版本,再引入
[code]script type="text/javascript" src="/images/defaultpic.gif"/script
然后在文件中加入一下代码
script type="text/javascript" $(function () { $(’input, textarea’).placeholder(); });/script代码总结如下:
!DOCTYPE htmlhtml lang="zh-CN"head meta charset="UTF-8" meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0" meta http-equiv="X-UA-Compatible" content="IE=edge,Chrome=1" / meta name="author" content="zhy" / titleie8/title link rel="stylesheet" href="https://www.rkxy.com.cn/dnjc/css/bootstrap/bootstrap.min.css" !--[if lte IE 9] script src=https://www.rkxy.com.cn/dnjc/js/bootstrap/respond.min.js"/script script src=https://www.rkxy.com.cn/dnjc/js/bootstrap/html5shiv.min.js"/script ![endif]-- script src="/images/defaultpic.gif"/script/headbody/body/html附注:
1、IE下判断IE版本的语句
!--[if lte IE 6]![endif]--IE6及其以下版本可见 !--[if lte IE 7]![endif]--IE7及其以下版本可见 !--[if IE 6]![endif]--只有IE6版本可见 ![if !IE]![endif]除了IE以外的版本 !--[if lt IE 8]![endif]--IE8以下的版本可见 !--[if gte IE 7]![endif]--IE7及大于IE7的版本可见
lte:就是Less than or equal to的简写,也就是小于或等于的意思 。
推荐阅读
- css padding属性兼容ie6,ie8,firefox实例详解
- 拥有最小高度能自适应高度同时全兼容IE、FF的div设置
- IE7或者IE8全屏解决方案
- IE8下显示图片时多出一个边框而Chrome或Firefox下却没有
- 含IE兼容解决方法 纯CSS3实现圆角效果
- JS 组件系列之Bootstrap Table 冻结列功能IE浏览器兼容性问题解决方案
- 解决FCKEditor在IE10、IE11下的不兼容问题
- ie8/9下Activex控件无法加载的两种解决方法
- 兼容IE和FF的单行溢出文本显示省略号
- 兼容Win8 开启IE10硬件加速释放电脑潜能