背景
line height是前端不可避免接触的属性,想要更好的实现设计稿,我们就必须要熟练的使用line height,然而在实际的使用过程中,我们会发现 line height 存在许多违反我们直觉的表现,让我们在还原设计稿的过程中处处碰壁, 也让我们经常被设计同学用鄙夷的眼神看待,所以今天就让我们好好聊一聊 line height这个属性,让我们能在设计面前挺起胸膛吧。
图片下面的空白
有一天你在项目中插入了一张图片,图片,很好看,你也很开心,设计同学让你给图片加一个背景色,这很简单,你想也没想的就在父元素身上加上了background属性,然而怪事发生了,图片下面出现了一段空白,你脑子瞬间蒙圈了,这个空白完全出乎了你的意料。
当然你没有慌,善用搜索引擎的你马上找到了解决方法。
我们可以:
- 将image 转为 block元素
- 将图片的vertical-align设为top或者bottom或者text-top
- 我们还可以设置父元素的font-size为0
这都可以解决你的问题,但是你依然摸不着头脑,想着以后都这么解决好了。
然而你没有意识到,这只是你和line-height及vertical-align的第一次交锋
后来你又发现了这样的问题
- 莫名被撑开的父元素
一行包裹在div下的行内文字,div本该是100px的高度,但是莫名其妙多了一些像素,撑开了父元素
- 无法对齐的
新手常见的错误
- 根本不知道 line height 只会用 height
- 单行文本占据的高度
- 图片下面的空隙
- 图文对齐的问题
- 矩形块对齐异常
- vertical-align怪异反应