1. 1、本文档共8页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
div教程

div+css技巧汇编 ?同时兼容IE、FF的基本注意事项 1、float的div一定要闭合。 例如:(其中floatA、floatB的属性已经设置为float:left;)wrapper div id=floatA/div div id=floatB/div div id=NOTfloatC/div /wrapper 这里的NOTfloatC并不希望继续平移,而是希望往下排。 这段代码在IE中毫无问题,问题出在FF。原因是NOTfloatC并非float标签,必须将float标签闭合。 在 div id=floatB/div div id=NOTfloatC/div 之间加上div class=clear/div aw提醒您:这个div一定要注意声明位置,一定要放在最恰当的地方,而且必须与两个具有float属性的div同级,之间不能存在嵌套关系,否则会产生异常。 并且将clear这种样式定义为为如下即可: .clear { clear:both; } 此外,为了让高度能自动适应,要在wrapper里面加上overflow:hidden; 当包含float的box的时候,高度自动适应在IE下无效,这时候应该触发IE的layout私有属性(万恶的IE啊!)用zoom:1;可以做到,这样就达到了兼容。 例如我的某一个wrapper如下定义: .colwrapper { overflow:hidden; zoom:1; margin:5px auto; }[/code]onhavinglayout-绝对不得错过,每一个制作CSS以及用脚本操作DOM的人都不得错过! 2、margin加倍的问题。 设置为float的div在ie下设置的margin会加倍。这是一个ie6都存在的bug。 解决方案是在这个div里面加上display:inline; 例如: div /div 相应的css为 #IamFloat { float:left; margin:5px;/*IE下理解为10px*/ display:inline;/*IE下再理解为5px*/ } 3、关于容器的包涵关系 很多时候,尤其是容器内有平行布局,例如两、三个float的div时,宽度很容易出现问题。 在IE中,外层的宽度会被内层更宽的div挤破。 一定要用Photoshop或者Firework量取像素级的精度。 4、关于高度的问题 如果是动态地添加内容,高度最好不要定义。浏览器可以自动伸缩,然而如果是静态的内容,高度最好定好。(似乎有时候不会自动往下撑开,不知道具体怎么回事) 5、最狠的手段 - !important; 如果实在没有办法解决一些细节问题,可以用这个方法.FF对于!important会自动优先解析,然而IE则会忽略.如下 .tabd1 { background:url(/res/images/up/tab1.gif) no-repeat 0px 0px !important; /*Style for FF*/ background:url(/res/images/up/tab1.gif) no-repeat 1px 0px; /* Style for IE */ } 值得注意的是,一定要将 xxxx !important 这句放置在另一句之上,具体原因很简单,就不说了:) 补充: 当时发表这篇文章时,并没有IE7的出现,而且那个时候我也没有很多地考虑JavaScript。这次更新一些。 一、IE6的border。会自动往外加margin。 当第一个box和第二个box之间的margin为a时,如果两个box都没有border,那么IE6、IE7、FF下面都没问题。 当有border时,FF和IE7的border不会占用它们之间的“空位”,而IE6这个老喜欢“自作聪明”的家伙就把margin给撑开了。 我并没有调试是否padding也会有这个副作用,我个人怀疑也有,但是既然把问题分析道这一步了,就不赘述了。 解决方案就是判断是否是IE6,然后动态的修补margin。其间涉及到js获取浏览器版本、样式值这些技术。参阅 /blog/archives/791 二、对于块元素,在IE6下面最好制定宽度才可float起来,尤其是a标签。 三、在IE下,如果采用了list-style-position:inside,那么可能会造成li元素强行往前缩进。 资源网站: 布局为王 CSSer 蓝色·前台、脚本 蓝色·网页标准专栏 CSS Remix 解决IE6、IE7、Firefox兼容最简单的CSS Hack 很早就在这里看到过解决方案,与嗷嗷讨论后发现这个方案还是很可靠的。当然,唯一的缺点就是每一个属性都要去Hack,但我在很多实践中,只用‘修正’1-2个属性就可以了。 具体写

您可能关注的文档

文档评论(0)

cbf96793 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档