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所述
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所述
标签: Web技术及应用




0 条评论:
发表评论
订阅 博文评论 [Atom]
<< 主页