Moonless.net首页

Cutsin受难记

Home Blog 归宿美林湾 Labs

2008年7月18日星期五

IE hasLayout、firefox空标签、form嵌套的老生常谈

昨天接到一个提案,查了好久,一开始就把问题锁定为IE的hasLayout故障,但实际修改中又遇到许多问题,导致多次修改后才找到关键,这个提案和刚刚解决的某个提案有些联系,看来出现此种问题的同志还挺多,现总结如下:

1、原html静态页显示绝对没有问题,但是html结构没有按照合理结构分割,完全是流的形式,多数元素都处于平级状态,这样不利于控制,在这种情况下css中使用很多float, clear, position,很容易产生问题,比如刷页面、resize、innerHTML的时候很容易出现闪烁、消失、错位等等。

2、对于<form>的嵌套位置,RIA或php工程师可能不太注意这一点,但<form>的嵌套如果不合理,在某些浏览器很容易造成显示错误,所以以后推荐把<form>放在两种位置:a.作为块级元素的firstChild;b.作为块级元素的parentNode。然后闭合</form>的时候严禁出现嵌套错误。

3、关于IE的hasLayout问题,其实是老生常谈了,当我们不确定一个块级元素的高度的时候最易出现这个问题,因为触发hasLayout的其中一个属性就是height,所以制作页面的时候还是要多多规范、多思考可能性、多考虑语义、多分析结构

4、firefox的空标签问题,当块级元素的firstChild不为内联元素的时候易出现此问题,目前解决方法似乎只有overflow:hidden,想要避免此问题还是同3所述

标签:

收藏到网摘:新浪VIVI  365Key  POCO网摘  和讯网摘  我摘

0 条评论:

发表评论

订阅 博文评论 [Atom]

<< 主页