修复IE6中的布局错误的策略?
通常,解决IE6中的布局错误的最佳方法是什么?当试图弄清为什么页面突然看起来像猴子编码的代码时,应该寻找哪些最常见的错误或者问题?
解决方案
回答
盒子模型通常是罪魁祸首。基本上,这意味着我们尝试定位和使用不受支持的CSS的任何div都会导致此问题。
如果我们使用的是min- {width,height}或者max- {width,height},则可能会发生这种情况。
这为检查不同版本的兼容性提供了很好的参考。
http://www.aptana.com/reference/html/api/CSS.index.html
回答
http://www.positioniseverything.net/一定会解决问题。
它提供了浏览器错误的全面而深入的描述,以及解决这些错误的选项。我认为必须阅读
回答
开始学习IE如何碰巧弄乱页面的一种好方法是使用CSS(" border:1px solid red;")打开不同元素上的红色边框。这将立即告诉我们是边距问题还是填充问题,元素的实际宽度等。
回答
我们有一个浮动div问题,仅在特定版本的IE6中才明显。通过下载最新的Service Pack对其进行了修复。
回答
我们如何定义布局错误? IE中最令人沮丧的布局实现(我不知道是否应该将其定义为bug)是我们需要始终在HTML <form>标记中指定style =" display:inline",以便不会出现空白行干扰表单布局。
回答
第一要务
获取Internet Explorer开发人员工具栏。它可以节省生命,并且可以与IE6和/或者IE7完美兼容。它不能替代Web Developer Toolbar或者适用于Firefox的Firebug,但是总比没有好。
认识你的敌人
阅读IE的怪癖,特别是hasLayout和溢出等。还有很多CSS优点,我们必须不做这些工作,或者找到替代方法。研究一下有多少流行的JavaScript工具包/框架/库解决了不同的问题。
罗马不是一天建成的
使用它的次数越多,我们将越会记住其他东西,而不必经常查找。经验是无可替代的。但是,正如一些人指出的那样,网络上有大量资源。位置就是一切肯定在那里。
回答
我认为这个问题范围太广。
验证代码,如果痛苦仍然存在,那么祝我们好运。
像其他任何臭虫一样,唯一真正的解决方案是向Google寻求解决方案,或者问一个知道的人(即,在stackoverflow上给我们确切的问题)。
我们可以使用IE Dev工具栏收集想法,但是许多错误是随机的,无法解释的和深奥的。 IE:断头台错误,随机项目重复错误等,列表继续存在,我们可以花几个小时从字面上愚弄所有愚蠢的变量,却一无所获。
回答
从理论上讲,使用与IE6布局错误兼容的CSS,仅使用众所周知的解决方法(css和html过滤器),并以不会破坏兼容性的方式为其编码,测试怪癖/严格模式。
实际上,请使用表。
回答
我有一个简单的策略,每次都能奏效。
首先,我使用公认的CSS开发该网站,以使其在Safari和Firefox 3中看起来不错。有关浏览器支持的详细信息,请访问w3schools.com。
然后,我进入IE6和IE7,并使用条件包含更改CSS。
这是免费的,可让我们处理不同的浏览器(IE6和IE7具有不同的问题)。
我们会发现的大多数问题都来自IE中不受支持的功能(例如最小宽度),盒子模型中的错误(IE在某些盒子中添加了看不见的额外填充(3px))或者定位问题。首先选择那些,因为它们通常是问题所在。
回答
一个常见的问题是填充没有添加到块元素的宽度。因此,对于布局div,请避免使用padding,而应使用其中的元素来定义padding。
回答
当我需要调整IE /标准浏览器之间的差异时,我使用Rafel Lima的浏览器选择器。它大大减少了在HTML中使用" hacks"来解决常见问题的可能性。
我们可以将CSS语句用于不同的浏览器,甚至是不同版本的浏览器(Hello IE 6)。它的实现非常简单,但是需要用户打开JavaScript(大多数情况下)。
。事物 { ....}
.ie .thing {....}
.ie6 .thing {....}
回答
注意,马克的职位在-2 = D。他只是在说"对表重新排序",即使它们吹响了,因为在像IE6这样的浏览器中,一些损坏的CSS命令仅在表中起作用(谁知道为什么……该死你比尔·盖茨!)。这是一个很好的参考,以了解CSS可行与不可行。 http://www.quirksmode.org/css/contents.html。这是检查哪些炫酷效果在各种广泛使用的浏览器上是否起作用的很好参考。而且,对于使用IE6浏览的用户,始终要制定计划(即使它的历史与机械污垢差不多之久),因为许多企业仍在使用较旧的浏览器(包括非营利组织/第三世界国家等)。 ,创建一个看起来比标准水平菜单更好的bug下拉菜单,但是创建一个专门针对IE6的辅助菜单,当该页面收到来自IE6浏览器的请求时,该菜单将成为默认菜单。