vertical-align - CSS(层叠样式表) 编辑
CSS 的属性 vertical-align
用来指定行内元素(inline)或表格单元格(table-cell)元素的垂直对齐方式。
The source for this interactive example is stored in a GitHub repository. If you'd like to contribute to the interactive examples project, please clone https://github.com/mdn/interactive-examples and send us a pull request.
vertical-align属性可被用于两种环境:
- 使行内元素盒模型与其行内元素容器垂直对齐。例如,用于垂直对齐一行文本的内的图片
<img>
:
- 垂直对齐表格单元内容:
注意 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
- 使元素的基线与父元素的基线对齐。HTML规范没有详细说明部分可替换元素的基线,如
<textarea>
,这意味着这些元素使用此值的表现因浏览器而异。 sub
- 使元素的基线与父元素的下标基线对齐。
super
- 使元素的基线与父元素的上标基线对齐。
text-top
- 使元素的顶部与父元素的字体顶部对齐。
text-bottom
- 使元素的底部与父元素的字体底部对齐。
middle
- 使元素的中部与父元素的基线加上父元素x-height(译注:x高度)的一半对齐。
<length>
- 使元素的基线对齐到父元素的基线之上的给定长度。可以是负数。
<percentage>
- 使元素的基线对齐到父元素的基线之上的给定百分比,该百分比是
line-height
属性的百分比。可以是负数。
相对行的值
下列值使元素相对整行垂直对齐:
top
- 使元素及其后代元素的顶部与整行的顶部对齐。
bottom
- 使元素及其后代元素的底部与整行的底部对齐。
没有基线的元素,使用外边距的下边缘替代。
表格单元格的值
baseline
(以及sub
,super
,text-top
,text-bottom
,<length>
,<percentage>
)- 使单元格的基线,与该行中所有以基线对齐的其它单元格的基线对齐。
top
- 使单元格内边距的上边缘与该行顶部对齐。
middle
- 使单元格内边距盒模型在该行内居中对齐。
bottom
- 使单元格内边距的下边缘与该行底部对齐。
可以是负数。
正式语法
baseline | sub | super | text-top | text-bottom | middle | top | bottom | <percentage> | <length>
示例
HTML
<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>
CSS
img.top { vertical-align: text-top; }
img.bottom { vertical-align: text-bottom; }
img.middle { vertical-align: middle; }
结果
规范
规范 | 状态 | 描述 |
---|---|---|
CSS Transitions vertical-align | Working Draft | 定义 vertical-align 为可动画的。 |
CSS Level 2 (Revision 1) vertical-align | Recommendation | 增加 <length> 取值, 允许它对display 类型为table-cell 的元素生效。 |
CSS Level 1 vertical-align | Recommendation | 初步定义。 |
初始值 | baseline |
---|---|
适用元素 | inline-level and table-cell elements. It also applies to ::first-letter and ::first-line . |
是否是继承属性 | 否 |
Percentages | refer to the line-height of the element itself |
计算值 | for percentage and length values, the absolute length, otherwise the keyword as specified |
Animation type | a length |
浏览器兼容性
BCD tables only load in the browser
The compatibility table on this page is generated from structured data. If you'd like to contribute to the data, please check out https://github.com/mdn/browser-compat-data and send us a pull request.参见
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论