• 首页
  • vue
  • TypeScript
  • JavaScript
  • scss
  • css3
  • html5
  • php
  • MySQL
  • redis
  • jQuery
  • vertical-align

    CSS 的属性 vertical-align 用来指定行内元素(inline)或表格单元格(table-cell)元素的垂直对齐方式。

    vertical-align属性可被用于两种环境:

    • 使行内元素盒模型与其行内元素容器垂直对齐。例如,用于垂直对齐一行文本的内的图片<img>

      top: middle: bottom: super: sub:

    • 垂直对齐表格单元内容:
      baselinetopmiddlebottom

      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.

      there is another theory which states that this has already happened.

    • 注意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;
    

    浏览器支持

    IE浏览器火狐浏览器opera浏览器chrome浏览器safari浏览器
    浏览器都支持vertical-align

    语法:

    vertical-align:baseline | sub | super | top | text-top | middle | bottom | text-bottom |<percentage>|<length>

    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
    适用于内联级与table-cell元素。也适用于::first-letter::first-line
    继承性
    动画性当值为<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; }
    

    上篇:text-indent