当前位置:  编程技术>WEB前端

IE 5.x/Win 和模型bug

    来源: 互联网  发布时间:2014-09-06

    本文导语:  IEbug IE 5.x/Win 和模型bug 这里是一个width:500px;margin:10px;padding:10px; border:10px;的一个盒子. 使用widht(空格)/**/:530px,解决IE5.x系列的盒解析bug,因为IE5.x系列浏览器能读到这句.在IE5.x Win,IE6.0 Win下效果一...

IEbug
IE 5.x/Win 和模型bug
这里是一个width:500px;margin:10px;padding:10px; border:10px;的一个盒子. 使用widht(空格)/**/:530px,解决IE5.x系列的盒解析bug,因为IE5.x系列浏览器能读到这句.在IE5.x Win,IE6.0 Win下效果一致. 如何使用hack解决IE5.x盒解析bug? #content { width:530px; //这个是错误的width,所有浏览器都读到了 voice-family: ""}""; //IE5.X/win忽略了""}""后的内容 voice-family:inherit; width:500px; //包括IE6/win在内的部分浏览器读到这句,新的数值(300px)覆盖掉了旧的 } html>body #content { //html>body是CSS2的写法 width:500px; //支持CSS2该写法的浏览器有幸读到了这一句,IE 5.x不支持的。 } #content { width:500px !important; //这个是正确的width,大部分支持!important标记的浏览器使用这里的数值 width(空格)/**/:530px; //IE6/win不解析这句,所以IE6/win仍然认为width的值是300px;而IE5.X/win读到这句,新的数值(400px)覆盖掉了旧的,因为!important标记对他们不起作用 } html>body #content { //html>body是CSS2的写法 width:500px; //支持CSS2该写法的浏览器有幸读到了这一句 }
这里是一个width:500px;margin:10px;padding:10px; border:10px;的一个盒子,IE5.x Win解析不正常。 IE6盒模型在向后兼容的同时也包容了以前的错误,IE6其实有两个核心,在旧的页面前他仍旧表现出对错误的宽容,只有在文档中严格地加上文档类型(DOCTYPE)声明,IE6才能够接受正确的box-model所以,hack必须和正确的DOCTYPE同时包含在文档中才能够正常工作。
IE/div浮动文本出现3px间距的bug

这里是浮动box

 

 

左边对象是浮动的,这里是采用margin-left来定位,这里的文本会离左边有3px的空白误差。

这里是浮动box,使用了* html #floatbox2 {margin-right: -3px;}解决3px bug

左边对象是浮动的,这里是采用* html p.no3px{height:1%;margin-left: 0;},这里的文本会离左边没有了3px的空白误差。

IE/div浮动文本出现3px间距的bug产生的条件: 当左边对象是浮动的,右边对象采用外补丁的左边距(margin-left:?px;)来定位,则右边对象内的文本会离左边有3px的空白误差。

CSS: #ie3px{float: left; width: 100px; height: 50px; background: #f60;}/*左边对象浮动*/ p.ie3px{margin: 0 0 0 100px; background: #333; text-align:left; color:#fff;}/*右边margin-left:??px;*/ XHTML:
这里是浮动box

左边对象是浮动的,这里是采用margin-left来定位,这里的文本会离左边有3px的空白误差。

IE/div浮动文本出现3px间距的bug解决方法: 利用hack *html div{}为IE单独写一个样式

* html #ieno3px{margin-right:-3px;} * html p.no3px{height:1%;margin-left: 0;} CSS: #ieno3px{float: left; width: 100px; height: 50px; background: #f60;} p.no3px{margin: 0 0 0 100px; background: #333; text-align:left; color:#fff;} * html #ieno3px{margin-right:-3px;} * html p.no3px{height:1%;margin-left: 0;} XHTML:
这里是浮动box,使用了* html #floatbox2 {margin-right: -3px;}解决3px bug

左边对象是浮动的,这里是采用* html p.no3px{height:1%;margin-left: 0;},这里的文本会离左边没有了3px的空白误差。

IE/浮动对象外补丁的双倍距离
这个元素,浮动左对齐(float:left),左侧外补丁(margin-left:50px;),在wrap层内,但在IE浏览器中Box1离左边的距离会是100px,而实际距离应是50px。当一个元素用于非float:none;的浮动状态时,IE下该元素既被视为块级元素,display:block;
CSS: #box1{ margin-left:50px; float:left; background:#f60; width:200px;} XHTML:
这个元素,浮动左对齐(float:left),左侧外补丁(margin-left:50px;),在wrap层内,但在IE浏览器中Box1离左边的距离会是100px,而实际距离应是50px。当一个元素用于非float:none;的浮动状态时,IE下该元素既被视为块级元素,display:block;
这是个拥有正确margin-left的元素,解决的办法就是,使浮动效果消失,这里采用了display:inline;原理可参阅on having layout
CSS: #box2{ margin-left:50px; float:left; background:#f60; width:200px; display:inline ;} XHTML:
这是个拥有正确margin-left的元素,解决的办法就是,使浮动效果消失,这里采用了display:inline;原理可参阅on having layout

[Ctrl+A 全选 注:如需引入外部Js需刷新才能执行]

    
 
 
 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • win7, win8安装docker需要了解的概念
  • 我系统安装了win2000,win98,linux,现在登录时只能进入win98和linux,无法进入win2000
  • win7,win8安装Docker具体过程
  • 有那位在win2000和win98上都装过tomcat,为什么我在win2000可以很容易装上,在win98就装不上,有什么区别?
  • win7,win8安装docker的依赖条件
  • 我在双系统win98@win2000下重装win98应该备份哪几个文件?
  • win7/Windows7系统下载地址搜集整理
  • win2000+jbuilder6+oracle817编出的程序,在win2000下执行很好,在win98下却访问不了oracle数据库
  • 怎样重装win7系统?win7重装系统步骤详细图文介绍
  • 先装win me 再装redhat 9.0 再在win me 下装win xp ,linux 不见了.怎么恢复linux啊?
  • Win7 64位下mysql 下载、安装与配置图文教程
  • 如何让win2000和linux共存。我装好WIN2000,再装LINUX7.0,但LILO只能找到LINUX,不能引导WIN2000
  • 安装运行微软win7/Windows7系统要求及官方下载地址
  • 要安装win98、win2000服务器、win2003服务器、LINUX系统,请问该按什么顺序安装?
  • 如何在win7,win8下面启动docker
  • 我想知道LINUX如何与WIN98,WIN2000共享资源?
  • 在已有的win98+win200server下安装linux
  • 高分请教!!关于win98,win2000,sco unix 的安装问题
  • 在已经装有win98和win2000的机器上怎样装UNIX系统?
  • 为什么装上win98、2000、linux后,我运行win2000时的速度非常慢???
  • 安装运行微软win7/Windows7系统要求及官方下载地址 iis7站长之家


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3