如何设置内联对象的标签或跨度的垂直对齐是否符合IE7-8的文本对齐等于中心?

时间:2011-02-15 12:31:40

标签: css internet-explorer-8 internet-explorer-7

IE9 rendered image

上图是用于过滤我网站中某些数据的HTML。我在此文本对齐中心线中有2个标签和2个选项。所有元素都显示为内联。一切都完美适用于IE9 RC和Chrome 9.但它不适用于IE7和IE8,因为所有标签中的文本都显示在行的底部,如下图所示。

IE7 rendered image

你有这个问题的CSS吗?您可以编辑我的jsFiddle以尝试解决此问题。

http://www.jsfiddle.net/AaDkd/

更新#1 我尝试用当前行的高度设置所有相关元素的行高。但它在IE7上不起作用。

enter image description here

源代码:http://jsfiddle.net/AaDkd/1/

演示:http://fiddle.jshell.net/AaDkd/1/show/

更新#2

enter image description here

如您所见,我删除了所有样式的控件,但是当我使用IE7时,选择和标签中文本的垂直中心并不完全相同。这是因为选择的默认高度(在IE7中无法调整)和标签或跨度的高度不相等。

源代码:http://jsfiddle.net/AaDkd/5/

演示:http://fiddle.jshell.net/AaDkd/5/show/

PS。不要忘记这一行的文本对齐是中心。

谢谢,

1 个答案:

答案 0 :(得分:3)

看看你的例子,以下CSS在IE8,FF,Chrome中适合我。

label, select, button {
    vertical-align: middle;
}

UPDATE:我在IE7上查了一下,如果你没有在select上设置那些行高和高度的东西,它就可以了。唯一的问题是你不能在IE7中改变选择的高度,就像在我看来一样。

UPDATE2:这是你的更新#2小提琴在IE7中为我显示的方式:

Fiddle screenshot