A JavaScript Fancier

伟大的javascript技术研究中...

  IT博客 :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理 ::
  304 随笔 :: 0 文章 :: 479 评论 :: 0 Trackbacks

这可是偶在写代码时一点一点发现的,先总结如下:以后在遇到同样的问题就知道怎么解决了。

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下如果在某个块元素内写入<img src="xx.gif" alt="" />由于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方可解决

一点心得。。。~~呵呵
posted on 2006-09-22 09:21 Yemoo'S JS Blog 阅读(1409) 评论(2)  编辑 收藏 引用 所属分类: HTML/XHTML/CSS

评论

# re: 一些css写法在FF与IE下的区别 2006-12-21 17:37 00
好像很麻烦CSS
  回复  更多评论
  

# re: 一些css写法在FF与IE下的区别 2007-06-20 12:02 火狐
感谢分享,以后也要注意这些问题了  回复  更多评论
  

只有注册用户登录后才能发表评论。