接触了一个PC端网页开发的项目,要求兼容到IE 8,遇到不少坑,在这里记录下:

1、IE8 的兼容性视图

bug描述:IE8有许多新更新,但微软为了兼容以前的IE浏览器,提出了“兼容性视图”的概念,它可以使用低版本IE(6、7)内核,显然这并不是我们想要的,所以需要使用meta标签来强制IE8使用最新的内核渲染页面

bug解决:

<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">

2、display:inline-block不支持

bug描述:在IE8 中,使用display: inline-block没有预期效果。

bug解决:


div {
display: inline-block;
*display: inline;
zoom: 1;
}

3、line-height 异常

bug描述:我们经常使用line-height来使单行文本垂直居中,但此方法在IE8 中有异常表现,具体为:一是IE8 不支持此方法,二是当我们使用hack后,元素不能完全垂直居中

bug解决:


div {
width: 200px;
height: 40px;
line-height: 40px;
line-height: 38px\9; // IE8 hack方法,有像素偏差
}

4、max-width

bug描述:我常在开发中使用 max-width来限制元素的最大宽度,但有时候并不奏效,慢慢摸索才明白IE解析max-width的规则:严格要求父级元素是固定的。

bug解决:给直接父元素写上 width属性

5、placeholder

详见:【bug】—— IE 8-不支持 placeholder 解决方法

6、background-size: cover

bug描述:如果你想使用background-size: cover设置全屏背景,很遗憾IE8办不到...但可以使用IE独有的AlphaImageLoader滤镜来实现

bug解决:

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

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

7、clearfix


.clearfix:before,
.clearfix:after {
content: " "; /* 1 */
display: table; /* 2 */
} .clearfix:after {
clear: both;
} .clearfix {
*zoom: 1;
}

8、美化input选择文件框

html:

<div class="wrap">
<img src="xxx" alt="">
<input accept="image/jpeg,image/jpg,image/png"> </div>

.wrap {
width: 190px;
min-height: 100px;
display: inline-block;
position: relative;
}
.warp img {
position: absolute;
top:0;
left: 0;
width: 100%;
height: 100%;
}
.wrap input {
width: 100%!important;
height: 100%!important;
position: absolute;
top:0;
left: 0;
font-size: 200px; // 解决IE8 - 下input高度撑不开的bug
opacity: 0;
-ms-filter: 'alpha(opacity=0)';
filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=0);
}

[兼容]——IE 8 常见兼容性问题的更多相关文章

  1. html常见兼容性问题

    html常见兼容性问题? 1.双边距BUG float引起的  使用display 2.3像素问题 使用float引起的 使用dislpay:inline -3px 3.超链接hover 点击后失效 ...

  2. css 常见兼容性问题及解决方案

    css 兼容问题一直是困扰前端开发人员的大难题,提到兼容性立马想到了万恶的ie6,说多了都是泪,还是整理一些常见的兼容性问题以及解决的方案吧. 一. 浮动元素双边距. ①条件:ie6下,如果给元素设置 ...

  3. CSS常见兼容性问题总结

    原文链接:渔人码头 http://www.cnblogs.com/imwtr/p/4340010.html?utm_source=tuicool&utm_medium=referral 浏览器 ...

  4. JS常见兼容性问题

    兼容性问题:函数(方法)兼容 描述:部分W3C指定的函数,有部分老的浏览器不支持 解决: 条件判断,如果有,则使用,添加原型方法,例如 String 的 trim 方法 if(!String.prot ...

  5. IE下常见兼容性问题总结

    概述 本小菜平时主要写后台程序,偶尔也会去写点前端页面,写html.css.js的时候,会同时开着ie6.ie7.ie8.ie9.chrome.firefox等浏览器进行页面测试,和大部分前端开发一样 ...

  6. web端常见兼容性问题整理

    一.html和css 各浏览器的默认内外边距不一致问题 最明显的是ul标签内外边距问题,ul标签在IE-7中,有个默认的外边距,但是在IE8以上及其他浏览器中有个默认的内边距. 解决办法:*{marg ...

  7. js常见兼容性问题以及解决方法

    1.关于使用 event对象,出现的兼容性问题IE/Chrom: event.clientX;event.clientYFF/IE9以上/Chrom: 传参e   e.clientX;e.client ...

  8. 前端之CSS常见兼容性问题

    1.双倍浮动BUG: 描述:块状元素设置了float属性后,又设置了横向的margin值,在IE6下显示的margin值要比设置的值大: 解决方案:给float的元素添加 display:inline ...

  9. CSS常见兼容性问题

    DOCTYPE 影响 CSS 处理 Firefox: div 设置 margin-left, margin-right 为 auto 时已经居中, IE 不行 Firefox: body 设置 tex ...

随机推荐

  1. 一款APP的交互文档从撰写到交付

    我第一份工作的设计总监是前百度设计师,34岁,一线设计12年:今年聊天说转了产品总监,如今39岁还活跃在行业中…… 我第二份工作的部门总监是前腾讯工程师,38岁,一线开发14年:2年前在Q群里跟我们说 ...

  2. Netty 零拷贝(一)Linux 零拷贝

    Netty 零拷贝(一)Linux 零拷贝 本文探讨 Linux 中主要的几种零拷贝技术以及零拷贝技术适用的场景. 一.几个重要的概念 1.1 用户空间与内核空间 操作系统的核心是内核,独立于普通的应 ...

  3. 记录如何用abd,用电脑输出手机操作信号

    0.http://www.wmzhe.com/soft-39913.html 去这里下载最新版的adb.旧版本很多不好使.一定最新的. 1.用豌豆荚装好驱动 2.开启usb调试.具体方法可以百度到 3 ...

  4. hdu-1143(简单dp)

    题目链接: 思路:利用前一个状态找到本次状态需要的次数,就是递推. 建立一个二维数组dp[i][j] ,i表示行,j表示多余的格子. 可以分为三种状态dp[i][0], dp[i][1] ,dp[i] ...

  5. Python 字典(Dictionary) keys()方法

    Python 字典(Dictionary) keys() 函数以列表返回一个字典所有的键. 语法 keys()方法语法: dict.keys() 参数 NA. 返回值 返回一个字典所有的键. 实例 以 ...

  6. python cov()

    在PCA中涉及到了方差var和协方差cov,下面详细了解这两个函数的用法.numpy中var和cov函数求法和MATLAB中var和cov函数求法类似. 首先均值,样本方差,样本协方差公式分别为 其中 ...

  7. MATLAB中的快捷键

    Ctrl + c  中止程序的运行,鼠标要点到命令窗内.

  8. 字符串"k:1“” 处理成字典 {'k':1,'k1':2....}

    1.有字符串"k:1|k1:2|k2:3|k3:4" 处理成字典 {'k':1,'k1':2....} #第一种方法 s1 = "k:1|k1:2|k2:3|k3:4&q ...

  9. Spring的@ModelAttribute注解

    1. 一.绑定请求参数到指定对象 public String test1(@ModelAttribute("user") UserModel user) 只是此处多了一个注解@Mo ...

  10. Java程序性能定位工具-火焰图

    Java程序性能定位工具-火焰图 前言 Java火焰图是一种新的查看CPU利用率方式.今天就带大家一起使用来自Google大神的工具来生成火焰图.火焰图非常的直观,问题一目了然,希望有一天它能成为JA ...