IE6里DIV错位的问题
 
      采用”FLOAT:LEFT“的DIV在IE8、IE7、都没问题,IE6下却向下移动,出现空白。这是因为,IE6采用的内核默认把DIV之间的距离增加了3~5个PX,所以,试试是将下移的DIV的STYLE里增加"margin-left:-5px;"或者更小。
解决IE7、IE8样式不兼容问题
 
方法一、要在页面中加入如下HTTP meta-tag:
<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE7" />
 
只要IE8一读到这个标签,它就会自动启动IE7兼容模式,保证页面完整展示。
 
方法二、针对整个网站,在IIS中加入如下描述符就可以有相同的效果,当然这么做范围更广。
 
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<system.webServer>
<httpProtocol>
<customHeaders>
<add name="X-UA-Compatible" value="IE=EmulateIE7">
</customHeaders>
</httpProtocol>
</system.webServer>
</configuration>

解决IE6、IE7、IE8样式不兼容问题
 
现在我们在做网页的时刻总是要考虑一些浏览器之间的兼容问题。近期在做一个短信平台的项目。在项目的开发过程中让我遇到了一件头痛的事情就是IE7与IE8不兼容。后面想了许多办法得以解决。现共享如下:
 
如果你的页面对IE7兼容没有问题,又不想大量修改现有代码,同时又能在IE8中正常使用,微软声称,开发商仅需要在目前兼容IE7的网站上添加一行代码即可解决问题,此代码如下:
 
CODE:
 
<meta http-equiv="x-ua-compatible" content="ie=7" />
 
 
 
解决firefox ie6 ie7的css样式兼容问题
 
做主题最麻烦的就是CSS样式兼容问题,由于各浏览器对ccs的不同解释,造成本来IE7可正常显示,但到了Firefox 、ie6等其它浏览器上,却出现错位、下沉等问题,只得在Firefox 、ie6 、ie7之间不停的切换调试,汗…最近又有两款浏览器加入googleChrome和IE8,某个浏览器一统天下看来是没希望了,只能尽量克服兼容问题。找到一篇解决兼容问题的文章,还是很有效的。
 
1 针对firefox ie6 ie7的CSS样式
 
现在大部分都是用!important来hack,对于ie6和firefox测试可以正常显示,但是ie7对!important可以正确解释,会导致页面没按要求显示!找到一个针对IE7不错的hack方式就是使用“*+html”,现在用IE7浏览一下,应该没有问题了现在写一个CSS可以这样:
 
#1 { color: #333; } /* Moz */
 
* html #1 { color: #666; } /* IE6 */
 
*+html #1 { color: #999; } /* IE7 */
 
那么在firefox下字体颜色显示为#333,IE6下字体颜色显示为#666,IE7下字体颜色显示为#999。
 
2 css布局中的居中问题
 
主要的样式定义如下:
 
body {TEXT-ALIGN: center;}
 
#center { MARGIN-RIGHT: auto; MARGIN-LEFT: auto; }
 
说明:
 
首先在父级元素定义TEXT-ALIGN: center;这个的意思就是在父级元素内的内容居中;对于IE这样设定就已经可以了。
 
但在mozilla中不能居中。解决办法就是在子元素定义时候设定时再加上“MARGIN-RIGHT: auto;MARGIN-LEFT: auto; ”
 
需要说明的是,如果你想用这个方法使整个页面要居中,建议不要套在一个DIV里,你可以依次拆出多个div,只要在每个拆出的div里定义MARGIN-RIGHT: auto;MARGIN-LEFT: auto; 就可以了。
 
3 盒模型不同解释.
 
#box{
 
width:600px;
 
//for ie6.0- w\idth:500px;
 
//for ff+ie6.0
 
}
 
#box{
 
width:600px!important
 
//for ff
 
width:600px;
 
//for ff+ie6.0
 
width /**/:500px;
 
//for ie6.0-
 
}
 
4 浮动ie产生的双倍距离
 
#box{ float:left; width:100px; margin:0 0 0 100px; //这种情况之下IE会产生200px的距离 display:inline; //使浮动忽略}
 
这里细说一下block,inline两个元素,Block元素的特点是:总是在新行上开始,高度,宽度,行高,边距都可以控制(块元素);Inline元素的特点是:和其他元素在同一行上,…不可控制(内嵌元素);
 
#box{ display:block; //可以为内嵌元素模拟为块元素 display:inline; //实现同一行排列的的效果 diplay:table;
 
5 IE与宽度和高度的问题
 
IE不认得min-这个定义,但实际上它把正常的width和height当作有min的情况来使。这样问题就大了,如果只用宽度和高度,正常的浏览器里这两个值就不会变,如果只用min-width和min-height的话,IE下面根本等于没有设置宽度和高度。比如要设置背景图片,这个宽度是比较重要的。要解决这个问题,可以这样:
 
#box{ width: 80px; height: 35px;}html>body #box{ width: auto; height: auto; min-width: 80px; min-height: 35px;}
 
6 页面的最小宽度
 
min-width是个非常方便的CSS命令,它可以指定元素最小也不能小于某个宽度,这样就能保证排版一直正确。但IE不认得这个,而它实际上把 width当做最小宽度来使。为了让这一命令在IE上也能用,可以把一个<div> 放到 <body> 标签下,然后为div指定一个类:
 
然后CSS这样设计:
 
#container{
 
min-width: 600px;
 
width:e-xpression(document.body.clientWidth < 600? “600px”: “auto” );
 
}
 
第一个min-width是正常的;但第2行的width使用了Javascript,这只有IE才认得,这也会让你的HTML文档不太正规。它实际上通过Javascript的判断来实现最小宽度。
 
7 清除浮动
 
.hackbox{
 
display:table;
 
//将对象作为块元素级的表格显示
 
}
 
或者
 
.hackbox{
 
clear:both;
 
}
 
或者加入:after(伪对象),设置在对象后发生的内容,通常和content配合使用,IE不支持此伪对象,非Ie 浏览器支持,所以并不影响到IE/WIN浏览器。这种的最麻烦的
 
……#box:after{
 
content: “.”;
 
display: block;
 
height: 0;
 
clear: both;
 
visibility: hidden;
 
}
 
8 DIV浮动IE文本产生3象素的bug
 
左边对象浮动,右边采用外补丁的左边距来定位,右边对象内的文本会离左边有3px的间距.
 
#box{
 
float:left;
 
width:800px;}
 
#left{
 
float:left;
 
width:50%;}
 
#right{
 
width:50%;
 
}
 
*html #left{
 
margin-right:-3px;
 
//这句是关键
 
}
 
HTML代码
 
<DIV id=box>
 
<DIV id=left></DIV>
 
<DIV id=right></DIV>
 
</DIV>
 
9 属性选择器(这个不能算是兼容,是隐藏css的一个bug)
 
p[id]{}div[id]{}
 
p[id]{}div[id]{}
 
这个对于IE6.0和IE6.0以下的版本都隐藏,FF和OPera作用
 
属性选择器和子选择器还是有区别的,子选择器的范围从形式来说缩小了,属性选择器的范围比较大,如p[id]中,所有p标签中有id的都是同样式的.
 
10 IE捉迷藏的问题
 
当div应用复杂的时候每个栏中又有一些链接,DIV等这个时候容易发生捉迷藏的问题。
 
有些内容显示不出来,当鼠标选择这个区域是发现内容确实在页面。
 
解决办法:对#layout使用line-height属性 或者给#layout使用固定高和宽。页面结构尽量简单。
 
11 高度不适应
 
高度不适应是当内层对象的高度发生变化时外层高度不能自动进行调节,特别是当内层对象使用
 
margin 或paddign 时。例:
 
<div id=”box”>
 
<p>p对象中的内容</p>
 
</div>
 
CSS:
 
#box {background-color:#eee; }
 
#box p {margin-top: 20px;margin-bottom: 20px; text-align:center; }
 
解决方法:在P对象上下各加2个空的div对象CSS代码:.1{height:0px;overflow:hidden;}或者为DIV加上border属性。
 
 
 
注:IE都能识别*;标准浏览器(如FF)不能识别*;
 
IE6能识别*,但不能识别 !important,
 
IE7能识别*,也能识别!important;
 
FF不能识别*,但能识别!important;

div错位解决IE6、IE7、IE8样式不兼容问题的更多相关文章

  1. ie6,ie7,ie8 css bug兼容解决记录

    ie6,ie7,ie8 css bug兼容解决记录 转载自:ie6,ie7,ie8 css bug兼容解决记录 - 前端开发 断断续续的在开发过程中收集了好多的bug以及其解决的办法,都在这个文章里面 ...

  2. 解决IE6/IE7/IE8不支持before,after问题

    对从事web开发的朋友来讲,低版本的IE永远是一个痛点,不支持最新技术(如css3,html5). 在现在web开发中使用图标字体已经很广泛,如Font Awesome,Bootstrap等,字体图片 ...

  3. div错位/解决IE6、IE7、IE8样式不兼容问题

    IE6里DIV错位的问题    原文:chinafine 采用”FLOAT:LEFT“的DIV在IE8.IE7.都没问题,IE6下却向下移动,出现空白.这是因为,IE6采用的内核默认把DIV之间的距离 ...

  4. ie6,ie7,ie8 css bug兼容解决方法

    IE浏览器以不支持大量的css 属性出名,同时也因其支持的css属性中存在大量bug. 这里收集了好多的bug以及其解决的办法,都在这个文章里面记录下来了!希望以后解决类似问题的时候能够快速解决,也希 ...

  5. DIV+CSS解决IE6,IE7,IE8,FF兼容问题

    1.IE8下兼容问题,这个最好处理,转化成IE7兼容就可以.在头部加如下一段代码,然后只要在IE7下兼容了,IE8下面也就兼容了:1. <metahttp-equivmetahttp-equiv ...

  6. DIV+CSS解决IE6,IE7,IE8,FF兼容问题(转至http://www.douban.com/note/163291324/)

    2011-07-25 21:11:47     DIV+CSS解决IE6,IE7,IE8,FF兼容问题 1.IE8下兼容问题,这个最好处理,转化成IE7兼容就可以.在头部加如下一段代码,然后只要在IE ...

  7. HTML5 Shiv--解决IE(IE6/IE7/IE8)不兼容HTML5标签的方法

    HTML5的语义化标签以及属性,可以让开发者非常方便地实现清晰的web页面布局.大多数浏览器基本兼容html5,但目前来说ie6/ie7/ie8还不兼容html5标签,所以需要javascript处理 ...

  8. DIV+CSS IE6/IE7/IE8/FF兼容问题汇总

    1.IE8下兼容问题,这个最好处理,转化成ie7兼容就可以.在头部加如下一段代码,然后只要在IE7下兼容了,IE8下面也就兼容了 <meta http-equiv="x-ua-comp ...

  9. 完美解决IE(IE6/IE7/IE8)不兼容HTML5标签的方法

    完美解决IE(IE6/IE7/IE8)不兼容HTML5标签的方法   HTML5的语义化标签以及属性,可以让开发者非常方便地实现清晰的web页面布局,加上CSS3的效果渲染,快速建立丰富灵活的web页 ...

随机推荐

  1. 读取redis中的数据时出现:MISCONF Redis is configured to save RDB snapshots

    读取redis中的数据时出现:MISCONF Redis is configured to save RDB snapshots   以下为异常详细信息: Exception in thread &q ...

  2. 《Linux内核设计与实现》读书笔记(十一)- 定时器和时间管理【转】

    转自:http://www.cnblogs.com/wang_yb/archive/2013/05/10/3070373.html 系统中有很多与时间相关的程序(比如定期执行的任务,某一时间执行的任务 ...

  3. pyhton类集成

    class SchoolMember:   def __init__(self,name,age):     self.name = name     self.age = age     print ...

  4. [CF660C]Hard Process(尺取法)

    题目链接:http://codeforces.com/problemset/problem/660/C 尺取法,每次遇到0的时候补一个1,直到补完或者越界为止.之后每次从左向右回收一个0点.记录路径用 ...

  5. 添加crontab为什么要重定向输出到/dev/null

    如果crontab不重定向输出,并且crontab所执行的命令有输出内容的话,是一件非常危险的事情.因为该输出内容会以邮件的形式发送给用户,内容存储在邮件文件 /var/spool/mail/$use ...

  6. HeadFirst Jsp 14 (Structs)

    大的web程序可能很复杂, 分很多”层” 有关 RMI 的部分, 可以参考 headfirst java 中的 RMI 的部分. struts 是一个框架, 框架是一些接口和类的集合, 这些接口和类设 ...

  7. JAVA设计模式之【简单工厂模式】

    1.创建抽象类User public abstract class User // 抽象类 { public void sameOperation() { System.out.println(&qu ...

  8. 齐次坐标概念&&透视投影变换推导

    http://daehgib.blog.163.com/blog/static/1861071422011579551134/ 透视投影是3D固定流水线的重要组成部分,是将相机空间中的点从视锥体(fr ...

  9. CAS 在 Tomcat 中实现单点登录

    单点登录(Single Sign On , 简称 SSO )是目前比较流行的服务于企业业务整合的解决方案之一, SSO 使得在多个应用系统 中,用户只需要登录一次就可以访问所有相互信任的应用系统.CA ...

  10. 基于百度地图js进行地理定位

    http://www.mengxiangchaoren.com/jquery.select.position.min.js 使用方法 $("#myCity").renderSele ...