接触了一个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. 函数数组demo

    #include <stdio.h> #include <string.h> typedef int(*service_func)(char *,char *); struct ...

  2. Perl的调试模式熟悉和应用

    perl -d file.pl perl -c file.pl DB<1> hList/search source lines:               Control script ...

  3. 2018.10.15 bzoj4445: [Scoi2015]小凸想跑步(半平面交)

    传送门 话说去年的省选计算几何难度跟前几年比起来根本不能做啊(虽然去年考的时候并没有学过计算几何) 这题就是推个式子然后上半平面交就做完了. 什么? 怎么推式子? 先把题目的概率转换成求出可行区域. ...

  4. 2018.09.27 codeforces1045A. Last chance(线段树优化建图+最大流)

    传送门 看完题应该都知道是网络流了吧. 但是第二种武器直接建图会gg. 因此我们用线段树优化建图. 具体操作就是,对于这m个人先建一棵线段树,父亲向儿子连容量为inf的边,最后叶子结点向对应的人连容量 ...

  5. 2018.09.23 codeforces 1053A. In Search of an Easy Problem(gcd)

    传送门 今天的签到题. 有一个很显然的结论,gcd(n∗m,k)≤2gcd(n*m,k)\le 2gcd(n∗m,k)≤2. 本蒟蒻是用的行列式求三角形面积证明的. 如果满足这个条件,就可以直接构造出 ...

  6. 23. Man and His Natural Habitat 人类及其自然栖息地

    . Man and His Natural Habitat 人类及其自然栖息地 ① Ecology is that branch of science which concerns itself wi ...

  7. Linux下一个简单sniffer的实现

    Sniffer(嗅探器)是一种基于被动侦听原理的网络分析方式.将网络接口设置在监听模式,便可以将网上传输的源源不断的信息截获.对于网络监听的基本原理我们不在赘述,我们也不开启网卡的混杂模式,因为现在的 ...

  8. 在linux系统中安装VSCode(Visual Studio Code)和图标的创建方式

    本文转载自:https://www.cnblogs.com/lzpong/p/6145511.html,自己添加了一些关于依赖包安装的. 1.从官网下载压缩包(话说下载下来解压就直接可以运行了咧,都不 ...

  9. SoC FPGA JTAG电路设计 要点

    JTAG协议制定了一种边界扫描的规范,边界扫描架构提供了有效的测试布局紧凑的PCB板上元件的能力.边界扫描可以在不使用物理测试探针的情况下测试引脚连接,并在器件正常工作的过程中捕获运行数据. SoC ...

  10. php学习之路-笔记分享20150327

    由于公司需要,不得已是php也学习并用了段时间做了两个项目,现也分享出笔记.需要源文档的留下邮箱,.