如何使HTML表格内联

如何使HTML表格内联,html,css,html-table,Html,Css,Html Table,在HTML中,我想显示一个小表格作为段落的一部分。一种方法是: <table> <tr> <td> Before <table style="display:inline;"><tr><td>a</td><td>b</td></tr> <tr><td>c</td><td>d</td>

在HTML中,我想显示一个小表格作为段落的一部分。一种方法是:

<table>
  <tr>
    <td>
      Before 
      <table style="display:inline;"><tr><td>a</td><td>b</td></tr> <tr><td>c</td><td>d</td></tr> </table>
      After
    </td>
  </tr>
</table>
这正是我想要的

但在我看来,在表格中使用表格似乎相当愚蠢,而我真正想要的是在段落中使用表格。但是,如果我尝试使用此HTML:

<p>
  Before 
    <table style="display:inline;"><tr><td>a</td><td>b</td></tr> <tr><td>c</td><td>d</td></tr></table>
  After
</p>
我尝试过使用各种不同的显示样式,但似乎没有一种能满足我的需要


我是被迫在表格代码中使用表格,还是遗漏了什么?

使段落
显示:内联适合我。但是,如果您有多个段落,则必须在每个段落之后添加一个

我想您有充分的理由在此处使用表格而不是css。您可以使用单个表获得效果

<table>
  <tr>
    <td rowspan="2">Before</td>
    <td>a</td>
    <td>b</td>
    <td rowspan="2">After</td>
  </tr>
  <tr>
    <td>c</td>
    <td>d</td>
  </tr>
</table>

之前
A.
B
之后
C
D

您可以使用以下css:

display:inline-table

只有IE7及以下版本不支持此属性。可能将表格包装在一个范围内,并应用
zoom:1
可以帮助IE7。

我在Linux上使用Chrome浏览器,通过向段落(p)和表格标记添加
display:inline table
可以实现这一点:

<p style="display:inline-table;">
  Before
  <table style="display:inline-table;"><tr><td>a</td><td>b</td></tr> <tr><td>c</td><td>d</td></tr></table>
  After
</p>

之前 ab cd 之后

刚刚检查了Linux上的Firefox,它似乎也在那里工作


仅供参考:删除两种
显示:内联表
样式中的任何一种会产生不需要的格式。

它不起作用,因为
不应该是
的子项

(您可以尝试W3C验证程序来查看有关此错误的更多信息)


只需将
替换为

什么样的broswer(和版本)呈现了您所展示的第二个示例?[不是我的=)]我应该提到我的Doctype是XHTML1.0严格的。HTML4.01过渡版没有出现这个问题。我应该提到我的Doctype是XHTML1.0严格的。您的解决方案在XMTHML1.0中运行良好(即使没有
);但我希望我能在不改变周围段落风格的情况下实现我想要的。但也许我不能。我认为你不能,因为段落不是默认的内联元素。这对我无效,因为“前”和“后”文本实际上是几行文本,小表出现在段落的中间。这应该是首选答案。它不需要任何外部元素上下文。
display:inline-table
<p style="display:inline-table;">
  Before
  <table style="display:inline-table;"><tr><td>a</td><td>b</td></tr> <tr><td>c</td><td>d</td></tr></table>
  After
</p>