以下兼容技术我只测试了IE8+

Media Query 媒体查询

 <script src="respond.min.js"></script>

respond.min.js脚本下载

CSS3圆角

把下载的PIE.htc放到项目文件夹中然后在用到圆角的CSS中引入PIE.htc

behavior: url(../Images/PIE.htc);}//圆角兼容

PIE.htc脚本下载

使用说明

CSS3高级选择器

first-child是CSS2的内容,但是last-child就不是了,所以IE8不买账

首先,您需要下载DOMAssistant脚本和ie-css3.js脚本并将他们包含进head标签中.====只要百度下ie-css3.js然后下载里面就有这两文件了哦

<!--[if lt IE 9]>
<script src="IE8lower/ie-css3/DOMAssistantCompressed-2.7.4.js"></script>
<script src="IE8lower/ie-css3/ie-css3.js"></script>
<![endif]-->

透明度opacity

filter: progid:DXImageTransform.Microsoft.Alpha(opacity=0)  IE8-
opacity: 0; 主流浏览器

CSS3 transform旋转

transform:rotate(180deg);
-ms-transform:rotate(180deg);
-moz-transform:rotate(180deg);
-webkit-transform:rotate(180deg);
-o-transform:rotate(180deg);
filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=2); 兼容ie8

其他旋转角度

.flipx {
-moz-transform:scaleX(-1);
-webkit-transform:scaleX(-1);
-o-transform:scaleX(-1);
transform:scaleX(-1);
filter:FlipH();
}
.flipy {
-moz-transform:scaleY(-1);
-webkit-transform:scaleY(-1);
-o-transform:scaleY(-1);
transform:scaleY(-1);
filter:FlipV();
}
.rotate90 {
filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=1);
-moz-transform: rotate(90deg);
-o-transform: rotate(90deg);
-webkit-transform: rotate(90deg);
transform: rotate(90deg);
}
/*顺时针旋转180度*/
.rotate180 {
filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=2);
-moz-transform: rotate(180deg);
-o-transform: rotate(180deg);
-webkit-transform: rotate(180deg);
transform: rotate(180deg);
}
.rotate270 {
filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=3);
-moz-transform: rotate(270deg);
-o-transform: rotate(270deg);
-webkit-transform: rotate(270deg);
transform: rotate(270deg);
}

HTML5标签

<script src="html5shiv.js"></script>

html5shiv.js脚本下载

max-width

还有一个在IE8中经常遇到的问题就是max-width,网页中图片的尺寸可能比较宽,我会给它设置max-width: 100%来限制其宽度最大为父容器的宽度,但是有时候却不奏效,慢慢摸索才得知IE解析max-width所遵循的规则:严格要求直接父元素的宽度是固定的。经实验发现Chrome所遵守的规则比IE松一些,所以这个问题应该不归属为IE兼容性问题,不过我还是提一下吧。分享两个我遇到的场景:

(1)td中的max-width

如果针对td中的img元素设置max-width: 100%,在IE和Firefox你会发现不奏效,而在Chrome中却是可以的。经查询发现需要给table设置table-layout: fixed,对此属性的具体解释见W3School

(2)嵌套标签中的max-width

如下的HTML结构:

<div class="work-item">
<a href="#" class="work-link">
<img src="sample.jpg" class="work-image img-responsive">
</a>
</div>

最外层元素.work-item设置了固定宽度,但是对img设置max-width为100%却无效,后来才发现需要再对a标签设置width: 100%,这样才能使最内层的img标签充满整个div。

placeholder

<script  src="jquery-placeholder.js"></script>
<script>
$(function() {
$('input, textarea').placeholder();
});
</script>

placeholder脚本兼容下载

background-size: cover

如果你想使用background-size: cover设置全屏背景,很遗憾IE8办不到...但可以使用IE独有的AlphaImageLoader滤镜来实现,添加一条如下的CSS样式:

filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(enabled=Enabled, sizingMethod=Size , src=URL)

将sizingMethod设置为scale就OK了。

background-size:cover;
filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='img/img001.jpg',sizingMethod='scale');

还没完,如果你在此背景之上放置了链接,那这个链接是无法点击的。一般情况下的解决办法是为链接或按钮添加position:relative使其相对浮动。

box-sizing

这个我试过了感觉不凑效,大家用过bootstrap3的都知道它里面全是CSS3,我试过为它做IE6/7的兼容,其他的兼容问题都好办,最不好办的就是box-sizing这个属性的兼容。

box-sizing 兼容脚本下载

渐变

ie6测试通过

filter:alpha(opacity=100 finishopacity=100 style=1 startx=0,starty=0,finishx=0,finishy=150) progid:DXImageTransform.Microsoft.gradient(startcolorstr=#e10019,endcolorstr=#00601b,gradientType=0);/*IE67*/

-ms-filter:alpha(opacity=100 finishopacity=100 style=1 startx=0,starty=0,finishx=0,finishy=150) progid:DXImageTransform.Microsoft.gradient(startcolorstr=#e10019,endcolorstr=#00601b,gradientType=0);/*IE8*/

background:-o-linear-gradient(top, rgba(225,0,25, 1),rgba(0, 96, 27, 1));

绿色位置该为自己需要的颜色可以,注意颜色值格式,滤镜的是“#”,其他用rgb

<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>无标题文档</title>
<style>
html,body{margin:0;height:100%;}
.gradient{
height:100%;
filter:alpha(opacity=100 finishopacity=100 style=1 startx=0,starty=0,finishx=0,finishy=150) progid:DXImageTransform.Microsoft.gradient(startcolorstr=#e10019,endcolorstr=#00601b,gradientType=0);/*IE67*/
-ms-filter:alpha(opacity=100 finishopacity=100 style=1 startx=0,starty=0,finishx=0,finishy=150) progid:DXImageTransform.Microsoft.gradient(startcolorstr=#e10019,endcolorstr=#00601b,gradientType=0);/*IE8*/
background:#006600; /* 一些不支持背景渐变的浏览器 */
background:-ms-linear-gradient(top,rgba(225,0,25, 1),rgba(0, 96, 27, 1));
background:-moz-linear-gradient(top,rgba(225,0,25,1),rgba(0, 96, 27, 1));/*Firefox*/
background:-webkit-gradient(linear, 0 0, 0 bottom, from(rgba(225,0,25, 1)), to(rgba(0, 96, 27, 1)));/*chrome Safari*/
background:-o-linear-gradient(top, rgba(225,0,25, 1),rgba(0, 96, 27, 1));/*Opera11*/
}
</style>
</head> <body>
<div class="gradient"></div>
</body>
</html>
background: -ms-linear-gradient(top,#c00,#c00); background: -moz-linear-gradient(top,#c00,#c00); background: -webkit-gradient(linear,0 0,0 100%,from(#c00),to(#c00));//主流
-ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorstr="#c00", endColorstr="#c00")"; //ie

最新文章

  1. http tcp udp ip 间的关系
  2. 领域驱动设计常见问题FAQ
  3. 如何保证App外包的最终质量,不延期不烂尾?
  4. OneApm,NewRelic
  5. 最少javascript代码完成一个2048游戏
  6. &lt;script runat=server&gt;、&lt;%%&gt;和&lt;%#%&gt;的区别
  7. JS图片上传后base64转码
  8. STC-单片机控制系统
  9. 守护进程VS守护线程
  10. Linux内核笔记:内存管理
  11. 友善RK3399/NanoPC-T4开发板wiringPi的C语言访问GPIO外设实例讲解 -【申嵌视频】
  12. Python 浅拷贝copy()与深拷贝copy.deepcopy()
  13. Element-ui 中dialog的使用方法
  14. 关于fasterxml-jackson发生Can not deserialize instance of异常原因验证
  15. shell 关系运算符
  16. L1-045 宇宙无敌大招呼
  17. 云服务器部署mongodb
  18. leetcode第217.题存在重复元素
  19. Linux网络子系统之---- PHY 配置
  20. 基于C#的机器学习--面部和动态检测-图像过滤器

热门文章

  1. Laravel-5.1 ---- 将mews captcha整合到项目中!
  2. 怎样成为全栈工程师(Full Stack Developer)?
  3. jQuery extend 实现代码封装
  4. mysql重点--执行计划
  5. rabbitMQ集群部署以及集群之间同步
  6. 使用 Redis 实现排行榜功能 (转载 https://segmentfault.com/a/1190000002694239)
  7. Mysql常用命令行大全
  8. ubuntu 在mac 的 Parallels 的分辨率问题
  9. python-操作csv文件
  10. awk改变了OFS,$0却没变化