玩儿前端--CSS垂直的那些事儿_html/css_WEB-ITnose

WBOY
发布: 2016-06-24 11:35:54
原创
1112 人浏览过

看CSS权威指南,觉得有价值的探究,关于行高和垂直对齐

行高

line-height属性是指文本行基线之间的最小距离,而不是字体的大小

  • 首先,基线(baseline)指的是英文四线格的倒数第二条线。

  • 其次,关于font-size,字体大小受font-size形成的em框限制。

  • 最后,在line-height设定时,由line-height决定基线间最小距离。


关于上图

A line box containing some text and elements.

  • 一行文字被放在一个line box里,而line box又由一个或多个inline box(行内框)组成,上图有5个inline box。

  • inline box中的文本内容组成了content area(虚线框所示),content area的大小跟文字大小有关,而决定文字大小的是font-size,因此font-size作用于content area。在未设置line-height的情况下,inline box的高度由content area决定。

  • 而line-height则是作用于inline box高度,line-height为20px;font-size为16px;的情况下,会在content area的上下设定2px的间隔。这样上下两行基线间距离也就增加了4px

  • line box的高度由inline boxs中最高的那一个决定。

  • height设定的是容器的高度,并非line box高度,如果容器高度正好与line box高度相等,那么行文本就在容器内垂直居中了。
    line-height例子

垂直对齐

vertical-align
作用于:行内元素和表单元格
默认值:baseline

  • baseline: 一个元素的基线与其父元素的基线对齐。如果元素没有基线,比如这是一个图像或表单输入元素,或者是其他替换元素??那么该元素的底端与其父元素的基线对齐。

  • bottom: 将元素行内框的底端与行框的底端对齐

  • text-bottom: text-bottom是指行内文本的底端。替换元素或任何其他类型的非文本元素会忽略这个值。要对齐的元素的行内框底端再与父元素content area的底端对齐。

  • middle: 往往(但并不总是)应用于图像。middle往往将元素的垂直中点与父元素基线上方0.25em处的一个点对齐。

  • 百分数: 把元素的基线(或替换元素的底边)相对于父元素的基线升高或降低指定的量(你指定的百分数要计算为该元素line-height的百分数,而不是相对于其父元素的line-height)。

    <div style="font-size: 14px; line-height: 18px;">I felt that, if nothing else, I deserved a<span styles="vertical-align: 50%;">raise</span>for my efforts.</div>span的基线身高9px,继承自父元素的line-height&times;50%
    登录后复制
来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板