2010-07-13 73 views
4

是否有什么特别原因为什么铬不尊重"display:inline"当它在"<table>"上使用,并且有没有已知的解决方法?一切工作正常,在Firefox,但由于某种原因,Chrome浏览器无法做正确的事情,当我键入铬不尊重显示属性

<table style="display:inline;"> 
    table stuff 
</table> 

火狐对齐:firefox alignment http://dkarapet.userworld.com/cart_noDB/firefox_alignment.png

铬对齐:chrome alignment http://dkarapet.userworld.com/cart_noDB/chrome_alignment.png

两个版本使用相同的HTML源代码是将display属性设置为内联。这些表格不会被任何其他div封装,而且它们都被封闭在一个大的div中。以下是关于html相关部分的pastie

回答

1

要拉你以后,你只需要把它添加到每一个TD:

<td valign="top"> 

这将迫使一切,每个单元的顶部,将迫使东西内嵌显示,如何希望他们。这里没有需要的CSS。

应该是编码这样的:

<table> 
<tr> 
    <td valign="top">item 1 info</td> 
    <td valign="top">item 2 info</td> 
    <td valign="top">item 3 info</td> 
</tr> 
<tr> 
    <td valign="top">item 4 info</td> 
    <td valign="top">item 5 info</td> 
    <td valign="top">item 6 info</td> 
</tr> 
</table> 

编辑:或者,如果(出于某种原因)你不使用TR和TD的你可以试试这个:

<table style="vertical-align:top;"> 
    table stuff 
</table> 
+0

谢谢老兄。那就是诀窍。现在它在Chrome和Firefox中显示相同的方式。我甚至不会打扰IE。 – davidk01 2010-07-13 08:15:19

+0

我在16分钟前发表了评论:p – 2010-07-13 08:15:51

+0

@meder - 您刚刚列出了一些关于'vertical-align'的模糊评论,它适用于表中至少三个不同的元素。 @Tim实际列出了做出这个诀窍的确切代码,这就是为什么我接受了他的答案。 – davidk01 2010-07-13 08:20:43

6

尝试inline-block

+0

当然,这是正确的答案?像梦一样工作,比'vertical-align:top'更具语义性? – Hogsmill 2011-07-23 07:11:21

3

为什么地球上你会设置一个表格元素为内联?它应该是一个表格的显示。用户错误IMO。

你必须改变所有trtd元素的显示模式,否则他们将不适当地渲染,很可能。

如果您需要将表格与另一个元素放在同一行中,请在表格中包围div并将其浮动。不要乱用桌子。

编辑:正如我根据我最后的评论指定的,你应该把vertical-align弄得乱七八糟,并且可能将它设置在表格的顶部。

+2

当然,这是唯一明智的答案。 – 2010-07-13 07:06:31

+0

你是什么意思?因为有时候你希望桌子堆叠在一起,而不是堆叠在一起。这是一个用户错误? – davidk01 2010-07-13 07:13:33

+0

@ davidk01 - 阅读我答案的最后部分。 – 2010-07-13 07:30:06

3

css 2.1定义了inline-table。不知道它有多广泛的支持,但这听起来可能是你想要的。

http://www.w3.org/TR/CSS21/tables.html#table-display

虽然从你的截图,它看起来像你真正想要的是在垂直对齐控制。

+0

浏览器支持信息,http://www.w3schools.com/cssref/pr_class_display.asp – 2011-08-15 18:46:01