CSS屬性探秘系列(三):line-height
line-height(行高),相鄰文本行基線間的距離。那什么是基線呢?對于文字“Benjamin-xx工程師”,來說基線(base line)并不是漢字文字的下端沿,而是英文字母“x”的下端沿。
二、line-height理解有的時候我們會遇到,不給盒子設置寬度,只設置行高,為啥也能產生高度,那么CSS中的高度由哪個來決定的呢?
如果一個標簽沒有設置高度(定值或者百分比)的話,那么它的高度由還高來決定,下面我們來看一組實例:
前提條件未設置盒子的高度:
CSS:
<style type="text/css">
.gc{width:400px;background-color:#ccc;border:1px solid #f00;margin-bottom:40px;}
.demo01{font-size:0;line-height:40px;}
.demo02{font-size:40px;line-height:0;}
</style>
<div class="demo01 gc">Benjmain01_a</div>
<div class="demo02 gc">Benjamin02_a</div>

那么line-height是怎么產生高度的呢?
我們先來介紹兩個基本概念:
1.行內框
行內框是瀏覽器渲染模型中的一個概念,無法顯示出來,但是它又確實存在,它的高度就是line-height(行高)指定的高度。
2.行框
行框是指本行的一個虛擬的矩形框,也是瀏覽器渲染模式中的一個概念。行框高度等于本行內所有元素中行內框最大的值(以line-height(行高)值最大的行內框為基準,其他行內框采用自己的對齊方式向基準對齊,最終計算行框的高度)。
這下我們就明白了,這個高度是怎么來的了,max(行內框的高度)->行框的高度->box高度
三、line-height的應用1.單行文字垂直居中
設置容器高度和line-height值相等
2.多行文字垂直居中
a)高度固定容器:直接設置上下padding值相等就OK了
b)高度未知容器:借助line-height,看如下實例:
代碼:
<style type="text/css">
.out{line-height:100px;font-size:0;width:400px;background-color:#ccc;border:1px dotted #333;}
.inner_01{font-size:12px;line-height:24px;display:inline-block; vertical-align:middle;}
.inner_02{width:0;}
</style>
<div class="out">
<span class="inner_01">這下我們就明白了,這個高度是怎么來的了,max(行內框的高度)->行框的高度->inline box 高度->影響父元素的高度</span>
<span class="inner_02"> </span>
</div>

3.圖片的垂直居中
此種情況將在下一講深入CSS屬性(四):vertical-align中詳細介紹
4.line-height:1.5 與150%的區(qū)別
區(qū)別見文章:line-height:1.5 與line-height:150%的區(qū)別
關于line-height的其他方面應用后續(xù)補充、上文如有不妥之處,還望指正。
相關文章
- 我們在css編寫中需要對大篇幅的內容顯示的更好看,有些間隔,不要在擠在一起難看,就可以使用Line-Height屬性進行控制2013-07-20
- “行高“顧名思義指一行文子的高度,大家對CSS行高line-height都有自己的理解,下面為大家介紹下本人自己的理解2014-01-08
- 本文介紹下css中的line-height屬性的用法,通過實例學習css line-height屬性的具體用法,感興趣的朋友參考下2014-08-02
- 本文介紹下,css中的line-height屬性的用法,通過實例學習css line-height屬性的具體用法,感興趣的朋友參考下2014-08-02
- 這篇文章主要介紹了css中height和line-height區(qū)別,需要的朋友可以參考下2014-08-02

