基线:小写字母xxxxx的下边缘线就是我们的css基线;一般的行内元素都是vertical-align: baseline;默认设置;

x-height:就是指小写字母xxxx的高度,下边缘线到上边缘线的高度。

中线:我们可以近似脑补成字母x交叉点那个位置。

我们都知道,内联元素默认是基线对齐的,而基线就是x的底部

对于vertical-align:middle

规范中对垂直对齐的middle这么解释的:

middle: This identifies a baseline that is offset from the alphabetic baseline in the shift-direction by 1/2 the value of the x-height font characteristic. The position of this baseline may be obtained from the font data or, for fonts that have a font characteristic for “x-height”, it may be computed using 1/2 the “x-height”. Lacking either of these pieces of information, the position of this baseline may be approximated by the “central” baseline.

大意就是:middle指的是基线往上1/2 "x-height"高度。我们可以近似脑补成字母x交叉点那个位置。

有此可见,vertical-align: middle并不是绝对的垂直居中对齐,我们平常看到的middle效果只是一种近似的效果。原因很简单,因为不同的字体,其在行内盒子中的位置是不一样的,比方说’微软雅黑’就是一个字符下沉比较明显的字体,所有字符的位置相比其他字体要偏下一点。要是vertical-align: middle是相对容器中分线对齐,呵呵,你会发现图标和文字不在一条线上,而相对于字符x的中心位置对齐,我们肉眼看上去就好像和文字居中对齐了。

vertical-align:middle通常用于img元素,,,只对inline,inline-block和表单元格起作用。

例子:

	<div style="    background: #e3e3e3;">
<img src="test.png" style="vertical-align: middle;" width="100" height="100">xxxx测试
</div>
<!-- 1 div元素高度不固定,图片的底边默认与xxxx的底边对齐baseline,div高度119px,底下留有空隙;xxxx测试在底部;
2 div元素高度不固定,对img设置vertical-align:middle,div高度115px,底边没空隙;xxxx测试在高度的正中央;
3 div元素高度不固定,对div设置font-size:0;div高度115px,底边没空隙,但是span里的文字不显示了。
4 div元素高度固定,对于设置不设置vertical-align:middle只会改变后面文字的显示位置,默认底部,设置则中部。
-->

  个人理解一行与一行的空白就是line-height减去font-size,但两者相同,上下行就没有空白了。

1

中线,基线,垂直居中vertical-align:middle的一些理解的更多相关文章

  1. What is Vertical Align?

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

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

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

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

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

  4. 关于Vertical Align的理解

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

  5. div仿checkbox表单样式美化及功能

    div仿checkbox表单样式美化及功能(checkbox的样式不好看)素材在底部: 效果图: window.css .bj { position: absolute; top: 0; left: ...

  6. css 居中,中央

    在我的技巧里,有4中居中中央的方法: 1.position:absolute; top:50%;left:50%; margin : -x 0 0 -x; 这是绝对定位的方法,通过算法移动,坏处就是必 ...

  7. 微信小程序中如何实现分页下拉加载?(附源码)

    转眼间坚持写教你微信小程序系列已经有十节系列课程了,每天的工作压力繁重,小女子也不知道自己还能坚持这样的系列教程多久.只希望每篇教程真的对大家有帮助.这节课我们要介绍的就是如何实现分页的下拉加载,我们 ...

  8. 关于背景图相对父容器垂直居中问题 —— vertical-align 和 line-height 之间的区别

       html css <div class="register-wrapper"> <div class="register"> &l ...

  9. 最常用的css垂直居中方法

    css垂直居中一直以来都是一个被大家说烂了的话题,翻来覆去的炒.不过说实话,正是因为css没有提供标准的垂直居中方法(不过在css3中已经有了相关规范),所以大家才会对它进行专门的研究.这研究来研究去 ...

随机推荐

  1. 在ChemDraw中如何使用ChemACX

    ChemACX是一款功能强大的化学品比价数据库,可与E-Notebook和ChemDraw整合使用,极大地方便生化科学家们采购化学品.那么很多用户就会开始疑惑该如何在ChemDraw化学绘图软件调用C ...

  2. MFC 单选按钮Radio使用注意

    使用MFC Radio时遇到问题:数据交换时出现断言崩溃框 定位于: 解决方法: 1.按CTRL+D,保证同一组内的radio的tab序号是连续的: 2.同一组内,设置 radio1的属性:  gro ...

  3. hdu 1813(IDA*)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1813 思路:首先bfs预处理出‘0’到边界点最短距离,然后构造 h() 为所’0‘点逃离迷宫的最少步数 ...

  4. systemd新的系统管理方案

    http://www.ruanyifeng.com/blog/2016/03/systemd-tutorial-commands.html http://www.ruanyifeng.com/blog ...

  5. AWS系列-S3实现文件服务页面展示

    最近由于业务需求,对于备份的数据存放到S3上面,并需要页面展示.而且还能下载. 把这个桶里面的对象,都在某个静态页面展示.并且 我可以把这个对象下载下来. 首页内容就是 桶里面的对象. 并且可以随时查 ...

  6. Struts 2再曝远程代码执行漏洞S2-037

    导读今年4月份,Apache Stuts 2之上发现的S2-033远程代码执行漏洞,以迅雷不及掩耳之势席卷而来.其利用代码很快就在短时间内迅速传播.而且官方针对这个高危漏洞的修复方案还是无效的. 悲剧 ...

  7. Java项目使用oh-my-email发送邮件

    本文使用Github开源项目oh-my-email进行测试邮件发送,并未进行更为深度的测试,如果想要快速使用,的确是一个很好的邮件发送组件.https://github.com/biezhi/oh-m ...

  8. java 常用资源

    java高手真经:http://pan.baidu.com/share/link?uk=2100475681&shareid=2381645927#path=%252F%255Bwww.jav ...

  9. glibc-2.23_large_bin链接方式_浅析

    上面两个图应该合并为一个图,但是指针太多了,合并在一起看不清了,所以分成两张图 所有的块都通过fd和bk两个指针链接,但是为了加快查询速度,不同大小的chunk通过fd_nextsize和bk_nex ...

  10. jquery的强大选择器

    $("#myELement")    选择id值等于myElement的元素,id值不能重复在文档中只能有一个id值是myElement所以得到的是唯一的元素 $("di ...