中线,基线,垂直居中vertical-align:middle的一些理解
基线:小写字母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
最新文章
- HTTP超文本传输协议-HTTP/1.1中文版
- JQuery 菜鸟笔记(一)
- solaris tar 命令exclude使用
- MySQL运行状态show status中文详解(转)
- Java关键字——final
- 【BZOJ】1108: [POI2007]天然气管道Gaz
- jquery上传图片插件plupload
- Android入门之GridView(表格控件)
- Java中浮点数的基础知识
- OWIN启动项的检测
- java数组复制的方式和效率比较
- MFC中小笔记
- 集大1513 &; 1514班 软件工程第二次作业评分与点评
- 给jumpserver双机配置glusterfs共享复制卷
- 编辑器-vim
- python生成组织架构图(网络拓扑图、graph.editor拓扑图编辑器)
- 01 基于umi搭建React快速开发框架
- Linux环境nginx的配置
- 纯净得只剩下字的访问IP查询API
- Docker学习链接