张鑫旭的CSS深刻理解之line-height学习笔记
行高:两行文字基线之间的距离浏览器
为什么是基线:基线是定义全部字线的根本curl
不一样字体和基线的距离不一样,在字格中放置的样式不一样学习
行高决定内联盒子高度字体
内容区域高度只与字号和字体有关,和行高无关url
行间距(vertical padding)= 行高 - 内容区域spa
行框高度是行内最高内联盒子到最低内联盒子的距离code
隐匿文本节点产生一个不可见的行内框,图片默认对齐基线,致使图片并不是贴紧容器底边
https://codepen.io/curlywater...orm
对单行行内元素的垂直居中,有一种惯用的方法,设置line-height和height一致。
内联盒子的高度由line-height决定,height限制包含盒子的高度,二者一致,即把内联盒子安放在包含盒子内,排除其余外界干扰。
这时候由内联盒子模型可知,行间距是等分的,中间部分是content area,达到看似居中的效果。继承
但其实这个时候,并非彻底居中;
https://codepen.io/curlywater...
上面的例子里,增长字体大小,发现inline-block的盒子再也不居中;
结合vertical-align来讲明,vertical-align:middle实际上是根据x字符的中心线居中,因为字符有下沉的特性,致使这条中心线并不与容器中心线重合。
内联盒子模型中,content-area的高度受font-size影响,font-size变大,content-area的空间变大,基线的位置向下,x的位置也向下偏移,两条中心线之间的差距也就越大。图片
能够获得结论:line-height和height设置一致,并不是是彻底垂直,除非font-size为0。