firefox下,垂直居中问题!

usnay 2009-12-02 12:07:57
需求如下:
假如有两个DIV,我是用来做首页导航,自然是要放在同一行,于是我把这两个div都用了float:left,实现了在同一行的需求,IE下也正常,可是,问题来了,因为这两个DIV是有背景图片的,所以文字看起来在图片的上面,所以,需要进行垂直居中,于是我用了:这几种方法:
1.vertical-align:middle IE正常,firefox不认
2.height:42px;line-height:42px;IE正常,firefox还是不认
3.display:table-cell;vertical-align:middle;本来是可以解决问题了,可是因为我这个是在浮动的情况下,所以这种方法也失效了,所以,紧急求救,包括那上面用于在同一行的float也可以用其他方法实现,总之帮我实现这两个需求就可以了,在线等,谢谢!
...全文
168 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
东邪 2009-12-15
  • 打赏
  • 举报
回复
我對這話句持懷疑態度: "2.height:42px;line-height:42px;IE正常,firefox还是不认"

見我的范例: http://code.cssfans.org/line-height.html
gutan 2009-12-03
  • 打赏
  • 举报
回复
“因为这两个DIV是有背景图片的,所以文字看起来在图片的上面,所以,需要进行垂直居中”——不太理解这个意思,能再解释下吗?
xxf_xu 2009-12-03
  • 打赏
  • 举报
回复
那就在DIV里面放个1*1的透明图片,高度拉到跟DIV一样高,然后vertical-align就有用了

再不行的话就只有margin-top了。。
usnay 2009-12-03
  • 打赏
  • 举报
回复
补充:不考虑table情形
xxf_xu 2009-12-02
  • 打赏
  • 举报
回复
教你一个简单的方法
先把你的DIV设个高度和宽度,然后在DIV里放个一行一列的table,样式为 table{width:100%; height:100%},td{width:100%; height:100%; text-align:center; vertical-align:middle;}
单元格里放你的东西就OK了。

不喜欢这个方法的话还有别的。。。
wenq0917 2009-12-02
  • 打赏
  • 举报
回复
LZ可以多套一个DIV,里面的DIV不要浮动,不就可以了?
usnay 2009-12-02
  • 打赏
  • 举报
回复
补充:margin或者padding我都用过了,那个会把页面撑坏的,而且那个不叫居中,严格的来说是叫偏移了,还有针对4楼所说,请您看清楚了,这是在float下,浮动情况下,所以会出现更加复杂的情况
ddcatlee 2009-12-02
  • 打赏
  • 举报
回复
height:42px;line-height:42px;IE正常,firefox还是不认

只能判断你的代码有问题。
夜雨_Jason 2009-12-02
  • 打赏
  • 举报
回复
height:42px;
line-height:XXpx;/*FF下*/
*line-height:42px;
striver_php 2009-12-02
  • 打赏
  • 举报
回复
sohighthesky 2009-12-02
  • 打赏
  • 举报
回复
margin-top:7or8orXXpx

61,112

社区成员

发帖
与我相关
我的任务
社区描述
层叠样式表(英文全称:Cascading Style Sheets)是一种用来表现HTML(标准通用标记语言的一个应用)或XML(标准通用标记语言的一个子集)等文件样式的计算机语言。
社区管理员
  • HTML(CSS)社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧