DIV CSS 佈局教程網

 DIV+CSS佈局教程網 >> 網頁腳本 >> CSS入門知識 >> CSS特效代碼 >> 說一說line-height
說一說line-height
編輯:CSS特效代碼     

line-height這個樣式相信大家一定不會陌生,我們經常用它來讓文本上下居中,這樣做一般不出出現什麼問題,但是如果對這個屬性不是很熟悉的話,可能會踩到一些坑,今天親自去試驗了一下,並總結了一下line-height的幾個特性。

首先line-height有以下幾種標准的寫法:

寫法1、line-height:normal;     //等價於寫法5,固定值為數字1.2

寫法2、line-height:inherit;    //父元素繼承,(默認繼承父元素行高)

寫法3、line-height:24px;      //通過像素px或者em等單位賦值

寫法4、line-height:150%;    //line-height=font-size*1.5

寫法5、line-height:1.5;      //line-height=font-size*1.5

 

首先看一下寫法3可能存在什麼問題,如圖:

    

可以看出,父元素設置行高,而子元素如果沒有設置行高,那麼子元素會采用父元素設置的line-height,不管子元素的font-size多大,都不會改變行高,所以當子元素font-size>父元素line-height的時候,會出現字體重疊或者其它不想看到的樣式。

 

其次寫法4和5看起來雖然一樣,卻有不同之處,如下圖:

          

 

上面兩種寫法都會得到同樣的效果,如圖:

現在把子元素字體增大一倍

通過百分比設置的行高,line-height = 200%*父元素 font-size = 32px,子元素行高不會發生變化,導致字體重疊

 

通過數字設置的行高,子元素的行高會重新計算,line-height=父元素行高比例因子*子元素font-size=2*64=128px;子元素行高會重新計算

到這總結有以下幾點

  line-height具有繼承性(inherited)。

  元素設置了line-height等於像素值px或者em時,那麼他的子元素(沒有設置行高的子元素)會采用父元素的line-height,並且不會因為字體大小而改變本身的行高。

  line-height會根據父元素設置的方式,確定自身行高是否重新計算。即寫法4和5的區別

相信到這裡你已經對line-height有一定的了解了

XML學習教程| jQuery入門知識| AJAX入門| Dreamweaver教程| Fireworks入門知識| SEO技巧| SEO優化集錦|
Copyright © DIV+CSS佈局教程網 All Rights Reserved