这可是偶在写代码时一点一点发现的,先总结如下:以后在遇到同样的问题就知道怎么解决了。
1,在几个div或span上使用display;inline想使其显示在同一行上时,必须对该行的每个块使用float来设置停靠位置,由于ie默认float:left;所以在ie下可能正常显示,但在ff下或换行显示。只需对每个div或span等元素加上“float:left或float:right”即可解决。
2,使用ul li定义菜单列表时,如果li元素设定了宽度100px,而其中的a元素也设定“display:block;width:100px”,也就是为内外元素都设定了相同的宽度或高度,然后对中的a元素再设置border时在ff下可能会显示非预期的效果,在ie下,如果内部宽高超过了外部宽高会自动扩展外部元素的高宽,而正常显示为a元素定义的border,而在ff下,子元素不能改变父元素的宽高等属性,于是为a定义的边框像素加上为a定义的宽高如果超过了父元素的宽高,则超出的部分会被父元素覆盖隐藏,于是可能部分边框可能无法看到。解决办法:只为外部元素(li)定义高宽,然后设定a样式为"display:block;"和其border属性,这样内部a元素就会自动调整自己的宽高并正常显示边框。
3,在ie下如果在某个块元素内写入
由于ie 自身的BUG在显示时会在图片下部多出一部分空白,而在ff下不会出现,因此就导致在ie下的外部元素高度大于ff下的外部元素。解决办法:为img标记定义align="center",这样在ie和ff下显示效果一样,图片下的空白在ie中消失(偶是突然发现这个解决办法的,不知什么原因,ie就是奇怪)。
4,当为新闻列表等元素定义height属性后,如果在显示时某行新闻换行显示,则在ff下会出现重叠现象,解决办法:只定义line-height属性不定义height属性。
5,在一个td中如果要使其内部元素(偶发现是图片)靠右显示,在ff下定义td的align=right无效,元素仍然靠左显示,定义内部元素float;right方可解决
一点心得。。。~~呵呵
阅读(282) | 评论(0) | 转发(0) |