如何垂直alignment一行文本中的内嵌块?

我想创build一个内联块,将会有一些未知的宽度和高度。 (它会有一个内部dynamic生成内容的表)。 此外,内嵌块应放在一行文本内,如“我的文本(BLOCK HERE)”。 为了使它看起来很漂亮, 我试图让块在行中垂直居中 。 所以如果块看起来像这样:

TOP MIDDLE BOTTOM 

然后,文本行将显示为:“我的文本([MIDDLE])”(在行的上面和下面有TOP和BOTTOM)

这是我迄今为止。

CSS

 .example { background-color: #0A0; display: inline-block; margin: 2px; padding: 2px; position: relative; text-align: center; } 

HTML

 <div class="example">TOP<br />MIDDLE<br />BOTTOM</div> 

例

 code { background: black; color: white; display: inline-block; vertical-align: middle; } 
 <p>Some text <code>A<br />B<br />C<br />D</code> continues afterward.</p> 

display: inline-block是你的朋友,你只需要构造的所有三个部分 – 之前,“块”之后,是一个,那么你可以垂直alignment他们所有的中间:

工作示例

(无论如何,它看起来像你的照片;))

CSS:

 p, div { display: inline-block; vertical-align: middle; } p, div { display: inline !ie7; /* hack for IE7 and below */ } table { background: #000; color: #fff; font-size: 16px; font-weight: bold; margin: 0 10px; } td { padding: 5px; text-align: center; } 

HTML:

 <p>some text</p> <div> <table summary=""> <tr><td>A</td></tr> <tr><td>B</td></tr> <tr><td>C</td></tr> <tr><td>D</td></tr> </table> </div> <p>continues afterwards</p>