深入理解之line-height

一、line-height 介绍

linge-height 指两行文字之间的基线距离


image.png
  • 行高的属性


    image.png
1、normal 行高的默认值

该值一般为数值。不同的字体有不同的值,该值由字体的设计者提供。
也正是该值是由不同的字体决定的,所以默认的行内盒子,在设置不同的字体时会有不同的高度。

2、number

该值为字体的倍数值

3、 length 固定单位值

px em rem pt

4、百分比

该值为字体的倍数

5、继承
  • 数值、百分比、em的区别在于他们的继承性质

数值继承的是父元素设置的值,再根据自己的字体大小来计算得出值
百分比和em则是继承父级计算好了之后的值
例如字体大小为60px, 父级字体为30px
如果父级行高为 1.5 那么他的子元素行高为 1.5 * 60
如果父级行高为 150% / 1.5em 那么他的子元素行高为 1.5 * 30

二、行内框盒子模型

1、内容区域指包含文字的区域,他的大小由font-size决定。

同一个字体大小的不同文字,大小是不一样的,所以导致了他们的内容区域高度也会不一样

2、内联盒有两种,一种为普通内联盒子和匿名内联盒子

  • 普通内联盒子为可选择的,如(i / em / a)等标签。
  • 匿名内联盒子是不可选择的,没有标签包含的普通文字组成。

3、行框盒子

  • 行框盒子由每一行的内联盒子组成,<br/>换行或者高度不足换行都会新生成一个行框盒子。行框盒子会尽可能包含该行内的所有内联盒子。

4、包含盒子包含了所有的行框盒子,高度由各个行框盒子高度的累加。

三、内联盒子的高度

1、内联盒子的高度由行高间接来决定的。

内联盒子的高度是由 行间距内容区域决定其的高度的,但是因为行间距的高度 + 内容区域的高度 必须 = 行高,所以如果设置了行高,就会间接的决定了高度。

四、行高的应用

1、设置行高实现近似文字的垂直居中, 不必设置高度。

2、实现多行文本垂直居中。

.box {
  background: #ccc;
  line-height: 200px;
  text-align: center;
}

.box > .text {
  display: inline-block;
  vertical-align: middle;
  line-height: normal;
}

3、实现图片近似垂直居中,

image.png
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • line-height 与行内框盒子模型 line-height 表示两行基线之间的距离。 所有内联元素的样式表现...
    soojade阅读 3,725评论 0 0
  • 问答题47 /72 常见浏览器兼容性问题与解决方案? 参考答案 (1)浏览器兼容问题一:不同浏览器的标签默认的外补...
    _Yfling阅读 14,682评论 1 92
  • 转载请声明 原文链接地址 关注公众号获取更多资讯 第一部分 HTML 第一章 职业规划和前景 职业方向规划定位...
    前端进阶之旅阅读 16,688评论 32 459
  • 行高: 两行文字“基线”之间的垂直距离 基线并不是汉字的下端沿,而是英文字母"x"的下端沿 行距: 一行“底线”至...
    lmmy123阅读 5,704评论 0 2
  • •前端面试题汇总 一、HTML和CSS 21 你做的页面在哪些流览器测试过?这些浏览器的内核分别是什么? ...
    Simon_s阅读 6,572评论 0 8