前段时间做了一个网站,http://www.haoweishiye.com
IE 8 打开的时候布局都是正常的,上下对齐,
但在IE 6 下打开,就会出现不对齐现象,有的东西跑到左右,有的跑到右边,
应该是CSS样式控制的问题,希望高手给出CSS兼容方面的解答。应该怎样设置DIV的样式,才能让其在浏览器中都正常显示!

解决方案 »

  1.   

    css hack,你上谷歌 百度上去搜下。就是对应不用浏览器版本,css样式的区别。
    比如:height:100px; 这是通常的写法,_height:105px;这是ie6的写法。
    具体你哪些有问题要自己细心找了。
      

  2.   

    确实css在不同浏览器间的兼容很是问题,建议首要考虑常用浏览器的兼容,例IE8、IE7、firefox等主流浏览器。具体可以google一下,网上有很多类似资料。
      

  3.   

    兼容性问题,注意IE6,IE8的样式不同
    DIV+CSS相对IE6 IE7和IE8
      

  4.   

    微软在IE8提供三种解析页面的模式
      IE8 Standard Modes :默认的最标准的模式,严格按照W3C相关规定
      IE7 Standards Modes :IE7现在用的解析网页的模式,开起机关是在<head>中加入 <meta http-equiv="X-UA-Compatible" content="IE=7">
      Quirks Modes :IE5用的解析网页的模式,开起机关是删除HTML顶部的DOCTYPE声明
      注意:不同模式间的网页在IE8中可以互相 frame ,因此因不会模式下的DOM和CSS渲染不一样,所以会引发很多问题,务必注意如果你的页面对IE7兼容没有问题,又不想大量修改现有代码,同时又能在IE8中正常使用,微软声称,开发商仅需要在目前兼容IE7的网站上添加一行代码即可解决问题,此代码如下:  IE8 最新css hack:  "\9" 例:"margin:0px auto\9;".这里的"\9"可以区别所有IE和FireFox.
      "*" IE6、IE7可以识别.IE8、FireFox不能.
      "_" IE6可以识别"_",IE7、IE8、FireFox不能.例子:所有浏览器 通用 
    height: 100px; IE6 专用 
    _height: 100px; IE6 专用 
    *height: 100px; IE7 专用 
    *+height: 100px; IE7、FF 共用 
    height: 100px !important;以下两种方法几乎能解决现今所有兼容. 1, !important (不是很推荐,用下面的一种感觉最安全) 随着IE7对!important的支持, !important 方法现在只针对IE6的兼容.(注意写法.记得该声明位置需要提前.) 代码: 
    <style> 
    #wrapper { 
    width: 100px!important; /* IE7+FF */ 
    width: 80px; /* IE6 */ 

    </style> 2, IE6/IE77对FireFox <from 针对firefox ie6 ie7的css样式> *+html 与 *html 是IE特有的标签, firefox 暂不支持.而*+html 又为 IE7特有标签. 代码: 
    <style> 
    #wrapper { width: 120px; } /* FireFox */ 
    *html #wrapper { width: 80px;} /* ie6 fixed */ 
    *+html #wrapper { width: 60px;} /* ie7 fixed, 注意顺序 */ 
    </style> 注意: 
    *+html 对IE7的兼容 必须保证HTML顶部有如下声明: 代码: 
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> 
      

  5.   

     float属性会影响很多浏览器,还有很多原因。只有多装几个浏览慢慢调调