准备阶段

vertical-align取值及含义:

含义
baseline 默认。元素放置在父元素的基线上。
top 把元素的顶端与行中最高元素的顶端对齐
text-top 把元素的顶端与父元素字体的顶端对齐
middle 把此元素放置在父元素的中部。
text-bottom 把元素的底端与父元素字体的底端对齐。
bottom 把元素的顶端与行中最低的元素的顶端对齐。
sub 垂直对齐文本的下标。
super 垂直对齐文本的上标
% 使用 "line-height" 属性的百分比值来排列此元素。允许使用负值。
length  垂直方向上对齐,负值向下,正值向上
 inherit  规定应该从父元素继承 vertical-align 属性的值。

注意:vertical-align属性只对行内元素(inline/inline-block)生效。

top/text-top/middle/baseline/text-bottom/bottom

用下图描述这六个属性对应的垂直位置:

接下来进一步验证:

测试代码如下:

<style>
.refer {
color: #fff;
font-size: 32px;
line-height: 64px;
background: #000;
height: 100px;
} .vertical {
font-size: 16px;
line-height: 16px;
display: inline-block;
width: 150px;
height: 20px;
border: 1px solid #fff;
}
</style>
<div class="refer">
line-height: 64px
<span class="vertical" style="vertical-align: top">top</span>
<span class="vertical" style="vertical-align: text-top">text-top</span>
<span class="vertical" style="vertical-align: middle">middle</span>
<span class="vertical" style="vertical-align: baseline">baseline</span>
<span class="vertical" style="vertical-align: text-bottom">text-bottom</span>
<span class="vertical" style="vertical-align: bottom">bottom</span>
</div>

效果如下:

从上面三个图可以得出下面的结论:

1、top:把元素的顶端与行中最高元素的顶端对齐

2、bottm:把元素的底端与行中最低元素的底端对齐

3、text-top:把元素的顶端与父元素字体的顶端对齐

4、text-bottom:把元素的底端与父元素字体的底端对齐

5、middle:把元素放置在父元素的中部

6、baseline:元素内容的底部放置在父元素的基线上(默认值)

注意:用红色文字标示出谁以谁为参照

super/sub

测试代码如下:

<div>
参照物
<sup>上标</sup>
<span style="vertical-align:super">上标</span>
</div>
<div>
参照物
<sub>下标</sub>
<span style="vertical-align:sub">下标</span>
</div>

效果图如下:

从上图可以得出结论:

1、super:元素内容的底部与父元素文字上标的底端对齐

2、sub:元素内容的底部与父元素文字下标的底端对齐

length/%

测试代码如下:

<div>
参照物
<span style="vertical-align:10px">vertical-align:10px</span>
<span style="vertical-align:-10px">vertical-align:-10px</span>
</div>

效果图如下:

从上图可以得出结论:

1、length:元素以原位置为基准,垂直方向移动,可以取正负值

2、%:元素以原位置为基准,取值以父元素的line-height属性为基准,垂直方向移动,可以取正负值(如果父元素的line-height: 0;以"%"设置vertical-align也无效果)

vertical-align属性的更多相关文章

  1. 前端知识点回顾之重点篇——CSS中vertical align属性

    来源:https://www.cnblogs.com/shuiyi/p/5597187.html 行框的概念 红色(line-height)为行框的顶部和底部,绿色(font-size)为字体的高度, ...

  2. HTML 标签元素的 align 属性

    align 属性规定段落中文本的对齐方式. 有 left  right center  justify 这些参数 left  right center  就是左对齐 右对齐 中间对齐 justify  ...

  3. What is Vertical Align?

    https://css-tricks.com/what-is-vertical-align/ ************************************************* CSS ...

  4. 关于Vertical Align的理解

    1:vertical-align 翻译就是垂直-对齐... 2:关于line-height的点 2.1:如果一个标签没有定义height属性,那么其最终表现的高度一定是由line-height起作用. ...

  5. 浏览器兼容CSS代码:按钮文字垂直居中(input button text vertical align)

    经过测试的浏览器:IE6, IE7, IE8, IE9, Firefox, Chrome, Safiri, Maxthon 按钮的HTML代码: <input id="btn_comm ...

  6. img 的 align 属性

    AbsBottom 图像的下边缘与同一行中最大元素的下边缘对齐. AbsMiddle 图像的中间与同一行中最大元素的中间对齐. Baseline 图像的下边缘与第一行文本的下边缘对齐. Bottom ...

  7. delphi Align属性

    ---------------------------------------------- -

  8. 【HTML&CSS】 第二章:标准模式下的页面与怪异模式下的页面区别

    盒模型 前面提到,盒模型(box mode)是浏览器 Quirks Mode 和 Standards Mode 的主要区别. 描述 对于“盒模型”一词并没有明确的文档定义,它是开发人员描述 CSS 中 ...

  9. CSS居中对齐终极指南

    本文首发于我的公众号:前端新世界 欢迎关注 本文将讨论可用于居中对齐元素的6种CSS技术(按照最佳实践排序),以及每一种技术最适合应用的场景.这里,居中对齐指的是将元素放置在其父元素的水平和垂直中心. ...

  10. HTML中的align和valign这两个属性

    转自:https://www.douban.com/note/325833958/ align和valign属性均是规定表格相对于周围元素的对齐方式,区别就在于: 1.align属性趋向于左右对齐,其 ...

随机推荐

  1. 使用CSS3的appearance属性改变元素的外观

    昨天在和同事一起完成项目的时候,我使用了appearance来渲染select,但是在firefox下出现问题,不完美,最后去除了.但还是要学习下这个属性.大家都知道每个浏览器对HTML元素渲染都不一 ...

  2. 定位absolute使内联支持宽高(块属性变为内联,内容默认撑开)margin auto 失效

    relative   没脱离文档流 absdute 完全脱离文档流 margin :auto 失效 相对整个文档偏离 相对父级定位 fixed 脱离文档流 与绝对定位特性一致 3.P标快不能包块级标签 ...

  3. POI2012 (持续更新中)

    Distance Well Vouchers Cloakroom A Horrible Poem Rendezvous Fibonacci Representation Squarks Salarie ...

  4. BZOJ2322: [BeiJing2011]梦想封印

    Description 渐渐地,Magic Land上的人们对那座岛屿上的各种现象有了深入的了解. 为了分析一种奇特的称为梦想封印(Fantasy Seal)的特技,需要引入如下的概念: 每一位魔法的 ...

  5. HDU 2824 简单欧拉函数

    1.HDU 2824   The Euler function 2.链接:http://acm.hdu.edu.cn/showproblem.php?pid=2824 3.总结:欧拉函数 题意:求(a ...

  6. C# 非模式窗体show()和模式窗体showdialog()的区别(转)

    对话框不是模式就是无模式的.模式对话框,在可以继续操作应用程序的其他部分之前,必须被关闭(隐藏或卸载).例如,如果一个对话框,在可以切换到其它窗 体或对话框之前要求先单击“确定”或“取消”,则它就是模 ...

  7. KeyValue与KeyData与KeyCode区别(转)

    KeyValue与KeyData与KeyCode区别(转) KeyPress事件 KeyPressEventArgs参数 Handled /是否处理过KeyPress事件 KeyChar //按下的键 ...

  8. js判断微信浏览器

    function is_weixin(){ //检查是否是微信浏览器 var ua = navigator.userAgent.toLowerCase(); if(ua.match(/MicroMes ...

  9. TF-IDF算法

    转自:http://www.cnblogs.com/eyeszjwang/articles/2330094.html TF-IDF(term frequency–inverse document fr ...

  10. c++ 符号执行顺序小例子

    if ( a[i] == b[i] && ++i < 0)  这个表达式的执行顺序 1. ; )// 输出 True cout<<"True"&l ...