如何理解vertical-align与line-height?

         大家好,我是IT修真院武汉分院第11期的学员,一枚正直纯洁善良的前端程序员,今天给大家分享一下,修真院官网css任务5,深度思考中的知识点——如何理解vertical-align与line-height?


一.背景介绍

随着互联网的快速发展,人们对网页美化的追求也达到了一个新的高度,为了使网页更好看,我们需要给行内元素设置它的位置,这次给大家分享设置文字的两个属性:line-height和vertical-align

二.知识剖析

1.LINE-HEIGHT基本概念

定义:行高是指文本行基线baseline之间的垂直距离

                                       1.1) LINE-HEIGHT属性可赋值


注意:a、行高是可以被继承的,数字可以直接被继承,然后在计算行高;而百分比是先计算出行高,在以px继承

           b、行高line-height实际上只影响行内元素和其他行内内容,而不会直接影响块级元素,也可以为一个块级元素设置line-height,但这个值只是应用到块级元素的内联内容时才会有影响。在块级元素上声明line-height会为该块级元素的内容设置一个最小行框高度。

2.VERTICAL-ALIGN基本概念与应用

定义:使行内元素的基线相对于该元素所在行的基线的垂直对齐

                                         2.1) VERTICAL-ALIGN的值


              注意:vertical-align的百分比值不是相对于字体大小或者其他什么属性计算的,而是相对于 line-height计算的。

3.常见问题

       图像元素在块级元素底部为什么留有空白?

4.解决方案

           图像的默认垂直对齐方式是基线对齐(基线对齐在原理上图像底边与匿名文本大写英文字母X的底边对齐);而匿名文本是有行高的,所以X的底边距离行框有一段距离,这段距离就是图像留出的空隙

1)、直接修改父级line-height值为0;

2)、设置为display:table-cell;

3)、设置vertical-align:top/middle/bottom;

5.编码实战

6.拓展思考

                            有哪些方法可以实现垂直居中?

1).单行文字垂直居中使用LINE-HEIGHT属性

2).使用VERTICAL-ALIGN属性实现居中

3).使用TABLE-CELL布局

4).使用PADDING和MARGIN

5).使用TABLE布局

6).使用FLEX弹性布局:设置父元素display:flex,使用align-items:center

7).使用绝对定位

绝对定位后设置top和left为50%,然后设置负边距

8).使用DISPLAY:-WEBKIT-BOX

在 content 元素外插入一个 div。设置此 div height:50%; margin-bottom:-contentheight;。content 清除浮动,并显示在中间。

7.参考文献

参考一:line-height 和 vertical-align 行高与行对齐精解

参考二:深入理解line-height与vertical-align

参考三:纯 CSS实现垂直居中的几种方法

参考四:    视频       PPT

8,更多讨论

     1)CSS中line-height与height的区别?

           简单来说,line-height是行高的意思,height则是定义元素自身的高度。

例如下面这段代码

文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字

如果我们定义.test {line-height:20px;},那么这个元素的实际高度将取决于其中内容的多少,假如文字部分在浏览器里面显示为一行,那么这个div的实际高度就是20px,如果文字显示为两行,那么div的实际高度就是40px,而且文字的行高是20px的;

如果我们定义.test{height:40px},那么这个元素的实际高度一般并不会因为内容的多少而发生改变,如果文字显示为一行,那么这个div的高度仍然是40px,如果显示为2行,但是文字的行高不够20px,这个div的高度也不会因为文字内容的高度小于height而发生改变。不过如果文字内容的高度大于40px了,一般来说这个div的高度还是会相应增加的。

 2)怎么运用vertical-align才能生效?

父元素(inline-block\block)必须含有line-height(inline元素有无皆可),子元素中的(inline-block/inline元素)vertical-align才能起作用。

vertical-align不可继承,必须对子元素单独设置。

3)为什么设置line-height文字会居中?

首先行高是文字的字符大小和字符上下的边距决定的,关键就是这个上下的边距是相等的,你可以把行高想象是两条看不见的水平平行线,而在平行线内,字符与平行线上下的边距总是相等的,就是垂直居中的意思。

而height这个属性是盒子属性的高度,盒子并没有像行高这样与上下的边距是相等的要求。而是默认在左上角

所以不是行高line-height与文字高height一样就能让文字居中,而是应该这样理解,字符本来就在行高内垂直居中了,只是行高与文字的盒子高度不等,导致不能在盒子里垂直居中,如果我们把行高line-height与盒子的height设置为一样大,意思就是行高的平行线与盒子的上下边重合了,这时字符当然仍是在行高内垂直居中,但也顺便在盒子内垂直居中。


感谢大家观看

今天的分享就到这里啦,欢迎大家点赞、转发、留言、拍砖~

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,293评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,604评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,958评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,729评论 1 277
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,719评论 5 366
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,630评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,000评论 3 397
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,665评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,909评论 1 299
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,646评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,726评论 1 330
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,400评论 4 321
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,986评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,959评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,197评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 44,996评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,481评论 2 342

推荐阅读更多精彩内容