CSS为什么行高line-height与文字高度height设为一样大,文字就垂直居中了?

 我来答
百度网友d9ac3fb66
2013-02-15 · TA获得超过1282个赞
知道小有建树答主
回答量:538
采纳率:0%
帮助的人:587万
展开全部
用p元素输出一行文本后:
①line-height(行高)=font-size(字符大小)+word-spasing(上下行间距)
例如:行高设置为100px时,若字符大小为30px,那上下行间距就分别为35px;
重点是:字符上行间距和下行间距的大小是相同的。

②如果你知道height是块级元素的属性,没行内元素什么事,那你对你的问题就不难理解:
试想,一个100px高的div,它的上下padding都设置为35px;中间的content就是30px,此时,它的height(高)=content(内容大小)+padding(上下填充值)。

③结合以①②中的两个等式:当设置line-height等于height时,字符大小就是内容大小,而上下相同的行间距就相当于上下相同的padding。故,div中的内容居中=p元素的字符(撑满容器)居中。

“如果此时我把行高调为60px,那么文字中心点距上或者距下各为30px,那不仍然是垂直居中吗?”
你想想,你说的“垂直居中”是相对什么居中?相对于上一行的文本和下一行的文本垂直居中?确实是这样,但这不是相对包围他们的容器。
lp5276159be1
推荐于2017-09-18 · TA获得超过2万个赞
知道大有可为答主
回答量:1万
采纳率:39%
帮助的人:4201万
展开全部
line-height行高是包含了文字的高度在内的,而height并非是文字的高度,而是文字所在标签的高度

行高举例的话,假如行高设为30px,那么就是文字中心点距上或者距下各为15px,所以行高与标签的高度一样的时候就垂直居中了
追问
如果此时我把行高调为60px,那么文字中心点距上或者距下各为30px,那不仍然是垂直居中吗?
追答
如果超出标签的高度的话,会以居上的距离为准,那就会偏下
补充:table布局的话,td如果设定了高度,那么文字就会默认垂直居中,这个你可以好好利用
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
xv700
2013-02-16 · 超过33用户采纳过TA的回答
知道答主
回答量:277
采纳率:0%
帮助的人:114万
展开全部
这是在文字只有一行的时候垂直居中的办法行高与文字容器同高,此时在效果上看就是垂直居中。多行文字需要用相对定位。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
ck_2036
2013-02-16 · TA获得超过906个赞
知道小有建树答主
回答量:904
采纳率:33%
帮助的人:727万
展开全部
line-height是行高
height是容器高
块级容器里只有一行的情况下
line-height 等于 height 就是文字垂直居中
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式