顶线和底线包含的区域
每个行内元素会生成一个行内框,行内框是一个浏览器渲染模型中的一个概念,无法显示出来,在没有其他因素影响的时候(padding等),行内框等于内容区域。 设定行高时行内框高度不变,半行距分别增加/减少到 行框 的上下两边。 简单说来,行内框就是行内元素的边框。
行框是指本行的一个虚拟的矩形框,是浏览器渲染模式中的一个概念,并没有实际显示。行框高度等于本行内所有元素中行内框最大的值。当有多行内容时,每行都会有自己的行框。
基线并不是汉字的下端沿,而是英文字母"x"的下端沿
对于行内元素如em、strong、span和等,其padding、margin、border-top、border-bottom 不会增加行高。padding会覆盖;margin将重置为0;border-top和border-bottom同样会覆盖。padding-left、padding-right、border-left和border-right可用。
img元素会影响行高
证明撑开div高度的是line-height而不是font-size
内联盒子/匿名内联盒子inline-boxes
行框盒子line-boxes 每一行就是一个“行框盒子”,每“行框盒子”由一个个“内联盒子组成”
包含盒子containing-box,由一行行的“行框盒子”组成
内容区域content-area,一种围绕文字看不见的盒子,大小与font-size大小有关
1.行高的垂直居中性
、、在单行或多行或图片垂直居中实现上的应用
单行文字的垂直居中对齐: line-height值设置为height一样大小的值可以实现单行文字的垂直居中;height值可以省略
多行文字的垂直居中对齐 : 要实现高度不固定的文字垂直居中使用padding就好了。对于高度固定的div,里面文字单行或多行显示,字体大小有大有小的情况怎么办呢?方法之一就是借助于line-height。
、 、图片的垂直居中
类似上面处理的方法,借助 i标签或伪元素
、 、使用缩放因子
实际你说的内边距padding并没有增加高度,而是看起来高了。padding支持增加内容与边框的距离。实际边框该是多高还是多高。内框的高度并没有影响,只是它的高度里面多个边距而已
并不影响,希望你理解。