我想创建一个内联块,它将采用一些未知的宽度和高度。 (它内部有一个表,动态生成内容)。此外,内联块应放在一行文本中,例如“我的文本(BLOCK HERE)”。为了使它看起来漂亮,我正在尝试使块在行中垂直居中。所以,如果块看起来像这样:
TOP
MIDDLE
BOTTOM
然后文本行将显示为:“我的文本([MIDDLE])”(行上方和下方的TOP和BOTTOM)
这是我到目前为止所拥有的。
.example {
background-color: #0A0;
display: inline-block;
margin: 2px;
padding: 2px;
position: relative;
text-align: center;
}
<div class="example">TOP<br />MIDDLE<br />BOTTOM</div>
答案 0 :(得分:166)
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>
在Safari 5和IE6 +中测试并运行。
答案 1 :(得分:23)
display: inline-block
是你的朋友,你只需要构造的所有三个部分 - 之前,&#34;块&#34;,之后 - 为一,然后你可以将它们全部垂直对齐到中间:
(无论如何它看起来像你的照片;))
<强> 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>