--- title: vertical-align slug: Web/CSS/vertical-align tags: - CSS - CSS Property - Reference translation_of: Web/CSS/vertical-align ---
CSS 的属性 vertical-align
用来指定行内元素(inline)或表格单元格(table-cell)元素的垂直对齐方式。
vertical-align属性可被用于两种环境:
<p> top:<img style="vertical-align:top" src="https://mdn.mozillademos.org/files/15189/star.png"/> middle:<img style="vertical-align:middle" src="https://mdn.mozillademos.org/files/15189/star.png"/> bottom:<img style="vertical-align:bottom" src="https://mdn.mozillademos.org/files/15189/star.png"/> super:<img style="vertical-align:super" src="https://mdn.mozillademos.org/files/15189/star.png"/> sub:<img style="vertical-align:sub" src="https://mdn.mozillademos.org/files/15189/star.png"/> </p> <p> text-top:<img style="vertical-align:text-top" src="https://mdn.mozillademos.org/files/15189/star.png"/> text-bottom:<img style="vertical-align:text-bottom" src="https://mdn.mozillademos.org/files/15189/star.png"/> 0.2em:<img style="vertical-align:0.2em" src="https://mdn.mozillademos.org/files/15189/star.png"/> -1em:<img style="vertical-align:-1em" src="https://mdn.mozillademos.org/files/15189/star.png"/> 20%:<img style="vertical-align:20%" src="https://mdn.mozillademos.org/files/15189/star.png"/> -100%:<img style="vertical-align:-100%" src="https://mdn.mozillademos.org/files/15189/star.png"/> </p>
#* { box-sizing: border-box; } img { margin-right: 0.5em; } p { height: 3em; padding: 0 .5em; font-family: monospace; text-decoration: underline overline; margin-left: auto; margin-right: auto; width: 80%; }
{{EmbedLiveSample("vertical-align-inline", 1200, 160)}}
<table> <tr> <td style="vertical-align: baseline">baseline</td> <td style="vertical-align: top">top</td> <td style="vertical-align: middle">middle</td> <td style="vertical-align: bottom">bottom</td> <td> <p>There is a theory which states that if ever anyone discovers exactly what the Universe is for and why it is here, it will instantly disappear and be replaced by something even more bizarre and inexplicable.</p> <p>There is another theory which states that this has already happened.</p> </td> </tr> </table>
table { margin-left: auto; margin-right: auto; width: 80%; } table, th, td { border: 1px solid black; } td { padding: 0.5em; font-family: monospace; }
{{EmbedLiveSample("vertical-align-table", 1200, 230)}}
注意 vertical-align
只对行内元素、行内块元素和表格单元格元素生效:不能用它垂直对齐块级元素。
/* Keyword values */ vertical-align: baseline; vertical-align: sub; vertical-align: super; vertical-align: text-top; vertical-align: text-bottom; vertical-align: middle; vertical-align: top; vertical-align: bottom; /* <length> values */ vertical-align: 10em; vertical-align: 4px; /* <percentage> values */ vertical-align: 20%; /* Global values */ vertical-align: inherit; vertical-align: initial; vertical-align: unset;
vertical-align
属性指定为下面列出的值之一。
这些值使元素相对其父元素垂直对齐:
baseline
sub
super
text-top
text-bottom
middle
下列值使元素相对整行垂直对齐:
top
bottom
没有基线的元素,使用外边距的下边缘替代。
baseline
(以及 sub
, super
, text-top
, text-bottom
, <length>
, <percentage>
)top
middle
bottom
可以是负数。
<div>An <img src="https://mdn.mozillademos.org/files/12245/frame_image.svg" alt="link" width="32" height="32" /> image with a default alignment.</div> <div>An <img class="top" src="https://mdn.mozillademos.org/files/12245/frame_image.svg" alt="link" width="32" height="32" /> image with a text-top alignment.</div> <div>An <img class="bottom" src="https://mdn.mozillademos.org/files/12245/frame_image.svg" alt="link" width="32" height="32" /> image with a text-bottom alignment.</div> <div>An <img class="middle" src="https://mdn.mozillademos.org/files/12245/frame_image.svg" alt="link" width="32" height="32" /> image with a middle alignment.</div>
img.top { vertical-align: text-top; } img.bottom { vertical-align: text-bottom; } img.middle { vertical-align: middle; }
{{EmbedLiveSample("示例")}}
规范 | 状态 | 描述 |
---|---|---|
{{SpecName('CSS3 Transitions', '#animatable-css', 'vertical-align')}} | {{Spec2('CSS3 Transitions')}} | 定义 vertical-align 为可动画的。 |
{{SpecName('CSS2.1', 'visudet.html#propdef-vertical-align', 'vertical-align')}} | {{Spec2('CSS2.1')}} | 增加 {{cssxref("<length>")}} 取值, 允许它对{{cssxref("display")}}类型为table-cell 的元素生效。 |
{{SpecName('CSS1', '#vertical-align', 'vertical-align')}} | {{Spec2('CSS1')}} | 初步定义。 |
{{cssinfo}}
{{Compat("css.properties.vertical-align")}}
vertical-align
, or "How (Not) To Vertically Center Content"