




已阅读5页,还剩3页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
网页布局的一些兼容性问题汇总转自(zhenrjk博客)一,如何解决IE7和IE8的BUG 微软在IE8提供三种解析页面的模式IE8 Standard Modes :默认的最标准的模式,严格按照W3C相关规定IE7 Standards Modes :IE7现在用的解析网页的模式,开起机关是在中加入 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不能.二,css网页布局兼容性有哪些要点与诀窍?IE vs FFCSS 兼容要点:DOCTYPE 影响 CSS 处理FF: div 设置 margin-left, margin-right 为 auto 时已经居中, IE 不行FF: body 设置 text-align 时, div 需要设置 margin: auto(主要是 margin-left,margin-right) 方可居中FF: 设置 padding 后, div 会增加 height 和 width, 但 IE 不会, 故需要用 !important 多设一个 height 和 widthFF: 支持 !important, IE 则忽略, 可用 !important 为 FF 特别设置样式div 的垂直居中问题: vertical-align:middle; 将行距增加到和整个DIV一样高 line-height:200px; 然后插入文字,就垂直居中了。缺点是要控制内容不要换行cursor: pointer 可以同时在 IE FF 中显示游标手指状, hand 仅 IE 可以FF: 链接加边框和背景色,需设置 display: block, 同时设置 float: left 保证不换行。参照 menubar, 给 a 和 menubar 设置高度是为了避免底边显示错位, 若不设 height, 可以在 menubar 中插入一个空格XHTML+CSS兼容性解决方案小集使用XHTML+CSS构架好处不少,但也确实存在一些问题,不论是因为使用不熟练还是思路不清晰,我就先把一些我遇到的问题写在下面。1.在mozilla firefox和IE中的BOX模型解释不一致导致相差2px解决方法:divmargin:30px!important;margin:28px;注意这两个margin的顺序一定不能写反,据阿捷的说法!important这个属性IE不能识别,但别的浏览器可以识别。所以在IE下其实解释成这样:divmaring:30px;margin:28px重复定义的话按照最后一个来执行,所以不可以只写margin:XXpx!important;2.IE5 和IE6的BOX解释不一致IE5下divwidth:300px;margin:0 10px 0 10px;div的宽度会被解释为300px-10px(右填充)-10px(左填充)最终div的宽度为280px,而在IE6和其他浏览器上宽度则 是以300px+10px(右填充)+10px(左填充)=320px来计算的。这时我们可以做如下修改:divwidth:300px!important;width /*/:340px;margin:0 10px 0 10px关于这个/*/是什么我也不太明白,只知道IE5和firefox都支持但IE6不支持,如果有人理解的话,请告诉我一声,谢了!:)3.ul标签在Mozilla中默认是有padding值的,而在IE中只有margin有值所以先定义ulmargin:0;padding:0;就能解决大部分问题4.关于脚本,在xhtml1.1中不支持language属性,只需要把代码改为就可以了三,兼容IE5.0、IE5.5、IE6.0、IE7.0、FF1.5、FF2.0的css hack本CSSHack代码范例,可以直观显示各个版本浏览器hack的使用。兼容IE5.0、IE5.5、IE6.0、IE7.0、FF1.5、FF2.0。IE7.0简体中文正式版发布了,对于我等常和网页打交道的人来说网页兼容性问题也随之而来了。IE7.0有一个显著的改变就是支 持!important了,是件好事情,但是也给广大的在IE6时代使用!important来区分处理IE和FF的网页制作者带来了不少问 题,Noker也遇到了这个问题,所以翻阅网上资料,写了下面这个能够兼容现今大多数主流浏览器,覆盖绝大多数用户的Hack代码!兼容浏览器版本:IE5.0,IE5.5,IE6.0,IE7.0,Firefox1.5,FireFox2.0CSS代码:(请注意Hack代码的顺序)#testwidth:300px;height:100px;background:#DDD!important;/*FF*/background:#FF0;/*IE5.0*/#test/*IE5.5+*/*+background:#C0F!important;/*IE7.0*/*background:#F00;/*IE6.0*/*background/*IE5.5*/:#F90;四,CSS兼容方案 最新的一些技巧让你的样式完美兼容各大浏览器,这个方案主要是用来解决Safari的,Opear是在测试的时候顺带试了一下,结果发现竟然也行,所以顺便也解决了。.e /*FF OP*/background-color: #FF0000html* .e/*Sa IE7 OP*/background-color:#FF00FF*+html .ebackground-color:#000000;/*OP*/*background-color:#0000FF;/*IE7*/* html .e/*IE6*/background-color:#00FFFF经FF2、OP9.21、OP9.10、Sa3.0.3(pc)、IE7、IE6测试通过,如果你在其他的浏览器版本上测试过,欢迎给我留言,把结果告诉我。需要注意的是:IE7对样式的解释跟DTD是有关,在没有DTD的时候,IE7是能读取IE6的hack的。五,必须掌握的关于IE6、IE7和FF最简单的CSS hack技巧FF浏览器.test height:20px; background-color:orange;IE7浏览器*+html .test/*IE7*/ height:20px; background-color:blue;IE6浏览器*html .test/*IE6*/ height:20px; background-color:black;通过上面的CSS代码可以看出FF还是最听话的浏览器。在IE6和IE7如果要使用HACK必须要在前面加上夫级标签html。这里就很好记忆了,IE6加*html,而IE7加*+html,暗示加了一个版本。通过对class、id所做的CSS HACK好处在于不用顾及前后顺序,而且便于管理和其他人员接受,还可以通过这种HACK实现类似JS浏览器版本的控制。上面内容看完可以点击下面的效果在不同浏览器来看看效果,其中橙色代表FF,蓝色代表IE7,黑色代表IE6。六,CSS hacks:浏览器特定选择器介绍IE6以下*htmlIE 7 以下*:first-child+html * html 只对IE 7*:first-child+html 只对IE 7 和现代浏览器htmlbody 只对现代浏览器(非IE 7)html/*/body 最新的Opera 9以下版本html:first-child Safarihtmlxmlns*=” body:last-child 要使用这些选择器,请在样式前写下这些代码。例如:#content-box width: 300px;height: 150px;* html #content-box width: 250px;/* 重写上面的代码并且把宽度改为250PX在IE6以下版本中适用。 */七,CSS Hack技术速查对照*:lang(zh) select font:12px !important; /*FF,OP可见*/select:empty font:12px !important; /*safari可见*/这里select是选择符,根据情况更换。第二句是MAC上safari浏览器独有的。仅IE7识别*+html 当面临需要只针对IE7做样式的时候就可以采用这个HACK。IE6及IE6以下识别* html 这个地方要特别注意很多地主都写了是IE6的HACK其实IE5.x同样可以识别这个HACK。其它浏览器不识别。html/*/ body select 这句与上一句的作用相同。仅IE6不识别,屏蔽IE6select display /*屏蔽IE6*/:none;这里主要是通过CSS注释分开一个属性与值,注释在冒号前。仅IE6与IE5不识别,屏蔽IE6与IE5select/*/ display /*IE6,IE5不识别*/:none;这里与上面一句不同的是在选择符与花括号之间多了一个CSS注释。不屏蔽IE5.5仅IE5不识别,屏蔽IE5select/*IE5不识别*/ 这一句是在上一句中去掉了属性区的注释。只有IE5不识别,IE5.5可以识别。盒模型解决方法selct width:IE5.x宽度; voice-family :/; voice-family:inherit; width:正确宽度;盒模型的清除方法不是通过!important来处理的。这点要明确。清除浮动select:after content:.; display:block; height:0; clear:both; visibility:hidden;在Firefox中,当子级都为浮动时,那么父级的高度就无法完全的包住整个子级,那么这时用这个清除浮动的HACK来对父级做一次定义,那么就可以解决这个问题。截字省略号select -o-text-overflow:ellipsis; text-overflow:ellipsis; white-space:nowrap; overflow:hidden; 这个是在越出长度后会自行的截掉多出部分的文字,并以省略号结尾,很好的一个技术。只是目前Firefox并不支持。只有Opera识别media all and (min-width: 0px) select 针对Opera浏览器做单独的设定。以上都是写CSS中的一些HACK,这些都是用来解决局部的兼容性问题,如果希望把兼容性的内容也分离出来,不妨试一下下面的几种过滤器。这些过滤器有的是写在CSS中通过过滤器导入特别的样式,也有的是写在HTML中的通过条件来链接或是导入需要的补丁样式。IE5.x的过滤器,只有IE5.x可见media tty icontent:/;/* */ import ie5win.css; /*;/* */IE5/MAC的过滤器,一般用不着/*/*/*/ import ie5mac.css;/*/IE的if条件Hack Only IE 所有的IE可识别 Only IE 5.0 只有IE5.0可以识别 Only IE 5.0+ IE5.0包换IE5.5都可以识别 Only IE 6- 仅IE6可识别 Only IE 6/+ IE6以及IE6以下的IE5.x都可识别 Only IE 7/- 仅IE7可识别以上内容可能并不全面,欢迎大家能和我一起把这些技巧都汇总起来,为以后工作的查询提供一个方便,同时在这里感谢那些研究出这些HACK的作者们。八,解决XHTML+CSS兼容性的五个方案!使用XHTMLCSS构架好处不少,但也确实存在一些问题,不论是因为使用不熟练还是思路不清晰,我就先把一些我遇到的问题写在下面,省的大家四处找。1.在mozilla firefox和IE中的BOX模型解释不一致导致相差2px解决方法:divmargin:30px!important;margin:28px;注意这两个margin的顺序一定不能写反,据阿捷的说法!important这个属性IE不能识别,但别的浏览器可以识别。所以在IE下其实解释成这样:divmaring:30px;margin:28px重复定义的话按照最后一个来执行,所以不可以只写margin:XXpx!important;2.IE5和IE6的BOX解释不一致IE5下divwidth:300px;margin:0 10px 0 10px;div的宽度会被解释为300px-10px(右填充)-10px(左填充)最终div的宽度为280px,而在IE6和其他浏览器上宽度则 是以300px+10px(右填充)+10px(左填充)=320px来计算的。这时我们可以做如下修改:divwidth:300px!important;width /*/:340px;margin:0 10px 0 10px关于这个/*/是什么我也不太明白,只知道IE5和firefox都支持但IE6不支持,如果有
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 车辆质押贷款及汽车租赁及保养服务合同
- 产权式酒店租赁合同示范文本及经营风险控制
- 医疗健康园区场站委托运营管理协议
- 产业园区场地租赁合同行政备案及产业扶持政策
- 餐饮企业特色餐厅承包经营合同范本
- 茶叶原料种植基地合作合同样本
- 柴油市场拓展与销售奖励合同范本
- 草场租赁与水资源保护与利用协议
- 税务筹划与财务代理一体化服务合同
- 金融投资代理居间业务合同
- 网络舆情监控管理制度
- 2024-2025学年人教版(2024)初中英语七年级下册教学工作总结(共4套)
- 机器试用担保协议书范本
- 小学生预防拐骗教育课件
- 医学影像分析-洞察及研究
- 2025至2030中国无线通讯检测行业市场发展分析及竞争格局与投资机会报告
- 2025年广东高考物理试卷真题及答案详解(精校打印版)
- 2025至2030年中国铁电存储器行业市场深度评估及投资机会预测报告
- 2025春季学期国开电大本科《人文英语4》一平台机考真题及答案(第二套)
- 培训中心全套管理制度
- 医院医保医疗管理制度
评论
0/150
提交评论