国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發(fā) > CSS > 正文

CSS行高line-height的個人理解

2024-07-11 08:36:15
字體:
供稿:網(wǎng)友

一、行高的字面意思

“行高“顧名思義指一行文子的高度。具體來說是指兩行文子間基線間的距離。

基線是在英文字母中用到的一個概念,我們剛學英語的時候使用到的那個英語本子每行有4條線,其中底部第二條線就是基線,是a,c,z,x等字母的地邊線。

————————頂線(top line)————————————————

——————————中線(middle line)————————————

————————————基線(base line)———————————

———————————————底線(bottom line)——————

vertical-align中有top,middle,baseline,bottom與之是有關(guān)聯(lián)的,但是具體細節(jié)如何,瀏覽器差異怎樣,我還是不是很清楚。

但是由于中午跟英文長得不一樣,所以基線的說法就像老太太穿線一一對不上眼。你理解為底線之差也不為不可。只是定義一回事,表現(xiàn)則另一回事。

二、line-height與line boxes高度

先說一個大家熟知的現(xiàn)象,有一個空的div,<div></div>,如果沒有設(shè)置至少大于1像素高度height值時,該div的高度就是個0.如果該div里面打入了一個空格或是一個漢字 ,則此div就會有一個高度。那么您有沒有思考過,為什么div里面有文字后就會有高度呢?

這是個看上去很簡單的問題,是理解line-height非常重要的一個問題。可能有人會認為是:文子撐開的!文子占據(jù)空間,自然將div撐開。我一開始也是這樣理解的,但是事實上,深入理解inline模型后,我發(fā)現(xiàn),根本不是文字撐開了div的高度,而是line-height!喲證明很簡單(如下測試代碼):

css代碼:


<!– lang: css –>
.test1{font-size:20px; line-height:0; border:1px solid #cccccc; backgroud:#eeeeee;}
<!– lang: css –>
.teset2{fon-size:0; line-height:20px; border:1px solid #cccccc; backgroud:#eeeeee;}

html代碼:


<!– lang: html –>
<div class=”test1″>測試1</div>
<!– lang: html –>
<div class=”test2″>測試2</div>

結(jié)果:test1 div有文字大小,但是行高為0,結(jié)果div的高度就是個0;test2 div文字大小為0,但是有行高,為20像素,結(jié)果div高度就是20像素。這就說明撐開div高度的是line-height不是文字內(nèi)容。

到底這個line-height行高怎么就產(chǎn)生了高度呢?在linline box模型中,有個line boxes,這個是看不見的。line boxes的工作就是包裹每行文字。一行文字一個 line boxes。例如”艾佛森退役"這5個字,如果它們在一行顯示,你艾佛森再牛,對不起,只有一個line boxes罩著你;但是”春哥純爺們“這5個字,要是豎著寫,一行一個,那真是夠爺們,一個字罩著一個line boxes,于是總計5個line boxes。line boxes什么特性也沒有,就是高度。所以一個沒有設(shè)置height屬性的div的高度就是由一個line boxes的高度堆積而成的。

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 绍兴市| 虎林市| 金乡县| 吉林市| 怀宁县| 六盘水市| 会泽县| 恭城| 饶河县| 平泉县| 酒泉市| 广宁县| 遵义市| 新昌县| 黄龙县| 上高县| 怀柔区| 衡东县| 汽车| 稻城县| 文化| 华亭县| 博罗县| 陆河县| 库尔勒市| 达孜县| 图片| 三穗县| 廊坊市| 汶川县| 长白| 榆树市| 明星| 安阳县| 临漳县| 隆回县| 成武县| 十堰市| 阜宁县| 休宁县| 古浪县|