为什么把line-height设置为容器div的高度就能使文字垂直居中?
3个回答
展开全部
line-height呢,你可以理解为每行文字所占的高度。
比如说,有一行20px大小的文字,如果设置为line-height:50px,那就是说,这行文字的高度会占50px。
显然,每个字的大小只有20px,那怎么边呢?于是呢,浏览器就把多出来的30px(50px-20px)在这行文字的上面加上了15px,下面加上了15px。
这样的话,那文字就在这50px的空间内是居中的了(这个就是浏览器规定的,它就这个分配空间)。
这样的话,如果你的DIV是50px,那么巧了,正好这行文字也就相对于DIV居中了。
所以,这样一来呢,就有了“把line-height设置为容器div的高度就能使文字垂直居中”。
不知道这么说是不是回答了你的问题。
比如说,有一行20px大小的文字,如果设置为line-height:50px,那就是说,这行文字的高度会占50px。
显然,每个字的大小只有20px,那怎么边呢?于是呢,浏览器就把多出来的30px(50px-20px)在这行文字的上面加上了15px,下面加上了15px。
这样的话,那文字就在这50px的空间内是居中的了(这个就是浏览器规定的,它就这个分配空间)。
这样的话,如果你的DIV是50px,那么巧了,正好这行文字也就相对于DIV居中了。
所以,这样一来呢,就有了“把line-height设置为容器div的高度就能使文字垂直居中”。
不知道这么说是不是回答了你的问题。
展开全部
<div style="background:red;font-size:12px;line-height:50px;">首先,不固定高度line-height也可以实现文字垂直居中</div>
<div style="background:green;font-size:12px;line-height:30px;">当高度自适应时,文字的顶端和文字的底端的距离会随line-height大小变化而变化,但实际上文字还是垂直居中的(不考虑padding)</div>
<div style="background:blue;font-size:12px;line-height:25px;height:25px">由于可能为了布局需要,要固定高度,为了实现单行文字垂直居中,从而设置line-height的值与height值设置一致</div>
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
line-height 属性设置行间的距离(行高)。
注释:不允许使用负值。
说明
该属性会影响行框的布局。在应用到一个块级元素时,它定义了该元素中基线之间的最小距离而不是最大距离。
line-height 与 font-size 的计算值之差(在 CSS 中成为“行间距”)分为两半,分别加到一个文本行内容的顶部和底部。可以包含这些内容的最小框就是行框。
原始数字值指定了一个缩放因子,后代元素会继承这个缩放因子而不是计算值。
默认值: normal
继承性: yes
版本: CSS1
JavaScript 语法: object.style.lineHeight="2"
实例
设置以百分比计的行高:
p.small {line-height:90%}
p.big {line-height:200%}
浏览器支持
所有浏览器都支持 line-height 属性。
注释:任何的版本的 Internet Explorer (包括 IE8)都不支持属性值 "inherit"。
可能的值
值描述
normal 默认。设置合理的行间距。
number 设置数字,此数字会与当前的字体尺寸相乘来设置行间距。
length 设置固定的行间距。
% 基于当前字体尺寸的百分比行间距。
inherit 规定应该从父元素继承 line-height 属性的值。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询