首页 > 当发现ie显示网页布局与firefox和chrome显示有出入时,应该如何解决问题?

当发现ie显示网页布局与firefox和chrome显示有出入时,应该如何解决问题?

ie还是占不少比重,在这情况下,怎么去修改因ie显示不一样的问题,或者从哪方面入手查看原因?
背景:
最近用thinkphp做网站,不过遇到一个问题,就是用模板显示网页时,其中一个网页在ie上显示和其他网页在ie显示的不一致,原本置于中间的块(背景)都置左了,很是郁闷。
ps:兼容这块没接触过,遇到这样的问题有点没头绪,浪费了挺多时间


逐条检测对应DOM元素的CSS,然后对该属性结尾加上\9\0重写


了解下 标准备的盒子模型和IE特有的之前的区别。
搜下经典的ie bug 及hack办法。
了解下ie不支持哪个特性,先按标准来写布局及样式,对IE作兼容处理,千万别以IE为主。
原理很重要,不然页面乱了你真的没法下手。


在 html 中选择性的加入指定 IE 条件:

<!––[if IE]>
    <!-- 所有 IE 版本生效 -->
    <!--[if IE6]> IE 6 下生效 <![endif]-->
    <!--[if IE7]> IE 7 下生效 <![endif]-->
    <!--[if IE8]> IE 8 下生效 <![endif]-->
    <!--[if IE9]> IE 9 下生效 <![endif]-->
<![endif]––>

其中“IE * 下生效”可以放 css、html、js 等代码,可以为不同的 IE 版本定制 CSS。
你还可以使用<!--[if lte IE6]> IE 6 及以下版本生效 <![endif]-->
其中,lte表示小于等于,也可以换成:
lte:Less than or equal to 的简写,小于或等于的意思。
lt:Less than 的简写,小于的意思。
gte:Greater than or equal to 的简写,大于或等于的意思。
gt:Greater than 的简写,大于的意思。
!: 不等于的意思,跟 javascript 里的不等于判断符相同


首先你需要先重置ie的css默认样式,然后在网页的头部加上

<!--[if IE]>...<![endif]-->

中间可以加上你对IE的重新定义的样式。


IE 哪个版本?我记得 8 和 9 一般不需要特别兼容。

6 和 7 用条件注释。

【热门文章】
【热门文章】