最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

深入理解CSS中的line-height的使用

  發(fā)布時間:2019-08-12 15:48:07   作者:陽光。   我要評論
這篇文章主要介紹了深入理解CSS中的line-height的使用,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧

什么是line-height(行高)?

line-height 是指兩行文字基線之間的距離。

什么是基線?

基線、底線、頂線、中線

 

注意:

  • 基線(base line)并不是漢字文字的下端沿,而是英文字母“x”的下端沿。
  • 不同字體的基線不盡相同。

行距、行高

 

line-height 與行內(nèi)框盒子模型

所有內(nèi)聯(lián)元素的樣式表現(xiàn)都與行內(nèi)框盒子模型有關。例如浮動的圖文環(huán)繞效果... and so on

什么是行內(nèi)框盒子模型

我們通過下面這段代碼進行講解

<p>這是一行普通的文字,這里有個<em>em</em>標簽</p>

在這段代碼中包含了 4 中盒子:

content area 內(nèi)容區(qū)是指底線和頂線包裹的區(qū)域(行內(nèi)元素 display:inline 可以通過 background-color 屬性顯示出來),實際中不一定看得到,但確實存在。內(nèi)容區(qū)的大小依據(jù) font-size 的值和字數(shù)進行變化。

inline boxes 。內(nèi)聯(lián)盒子不會讓內(nèi)容成塊排列,而是排成一行。如果外部 inline 水平的標簽( span 、 a 、 em 等)則屬于 內(nèi)聯(lián)盒子 ,如果是光禿禿的文字則屬于 匿名內(nèi)聯(lián)盒子 。

line boxes 。每一行就是一個 行框盒子 。每個行框盒子又是由一個個 內(nèi)聯(lián)盒子 組成。

containing box 包含盒子。 包含盒子 是由一行一行的 行框盒子 組成。 <p> 標簽就代表了一個 包含盒子 。(即上圖中的綠色部分)

line-height 的高度機理

深入理解內(nèi)聯(lián)元素的高度表現(xiàn)

在講解原理之前,我們先看以下代碼:

<p>這是一行普通的文字,這里有個<em>em</em>標簽</p>
console.log(document.querySelector('p').clientHeight); // 輸出36px

現(xiàn)在我們思考這樣幾個問題:

  • 元素的高度從何而來?
  • 是由里面的文字撐開的?

the answer is :元素的高度是由 line-height 決定的:

line-height 明明是兩基線之間的距離,單行文字哪來行高,還控制了高度?

  • 行高由于其繼承性,影響無處不在,即使單行文本也不例外。
  • 高度的表現(xiàn)不是行高,而是內(nèi)容區(qū)域和行間距。
  • 內(nèi)容區(qū)域高度+行間距=行高
  • 內(nèi)容區(qū)域高度只與字號以及字體有關,與 line-height 沒有任何關系。(在 simsun 字體下,內(nèi)容區(qū)域高度等于 font-size )。換句話說,在 simsun 字體下: font-size+行間距=line-height
  • 行間距是上下均分的。

總結

  • 行高決定內(nèi)聯(lián)盒子高度;行間距是墻頭草,可大可小(甚至負值),保證高度正好等于行高。
  • 多行文本的高度等于單行文本的高度累加。

 line-height 的各類屬性值

normal

line-height:normal; 默認屬性值,與瀏覽器相關,且與元素字體相關聯(lián)。

 <number>

line-height:1.5; 使用數(shù)值作為行高,根據(jù)當前元素的 font-size 大小計算。

 <length>

line-height:1.5em; 、 line-height:1.5rem;line-height:20px; 使用具體單位作為行高值。

 <percent>

line-height:150% 使用百分比作為行高值。相對于設置了該 line-height 屬性的元素的 font-size 大小計算。

 inherit

input{line-height:inherit;} ,行高繼承。使用 inherit 可以讓文本框樣式可控性更強。 行高默認具有繼承性,為什么還是這樣做??? 控件元素 的默認行高是 normal ,而不是繼承父級元素的行高。

line-height:1.5 、 line-height:1.5em; 、 line-height:150% 的區(qū)別

在計算結果上是相同的,但是所影響的元素有區(qū)別。

  • line-height:1.5 所有可繼承元素會根據(jù) font-size 重新計算行高。(也就是說其子元素都會根據(jù)自身的 font-size * 1.5 計算行高,每個子元素都要進行一次計算。)
  • line-height:150%/1.5em ,當前元素根據(jù) font-size 計算行高,繼承給下面的元素。(當前元素根據(jù) font-size 計算行高,然后將所計算的出來的值繼承給后代,也就是說只需要當前元素進行計算,而子元素不需要重新計算。)

body 全局數(shù)值使用經(jīng)驗

如果是 blog ,已閱讀為主的網(wǎng)頁, line-height:1.5/1.6 較為適宜。

如果是面向用戶,并不是閱讀為主的網(wǎng)頁,則推薦使用匹配 20 像素的使用經(jīng)驗。 body{font-size:14px;line-height:1.4286} 或者合并形式 body{font:14px/1.4286 'microsoft yahei'}

line-height 與圖片高度表現(xiàn)。

line-height 不會影響圖片的高度。

隱匿文本節(jié)點: <p> 標簽是一個文本節(jié)點,其默認會有文本。即使 <p></p> ,也就是當內(nèi)容為空時,也存在文本節(jié)點,只不過看不到而已。這樣的節(jié)點稱其為隱匿文本節(jié)點,也正因為隱匿文本節(jié)點的存在,才會造成下面圖中的情形。

 

 

如何消除圖片與底部之間的間隙?

在項目開發(fā)中,我們偶爾會遇到以下情形:

 

解決的辦法主要有以下三種:

1.圖片塊狀化。( vertical-align )只適用于 inline``inline-block 元素,也就是說對于 block 元素并沒有基線對齊的說辭。 img{display:block;}

2.圖片底線對齊 img{vertical-align:bottom;}

3.行高足夠小,使基線上移。 .box{line-height:0}

line-height的實際應用

1.實現(xiàn)大小不固定的圖片,多行文字的垂直居中

2.實現(xiàn)多行文本水平垂直居中

以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

相關文章

  • 關于css中l(wèi)ine-height(行高)設置無效的問題的解決方法

    這篇文章主要介紹了關于css中l(wèi)ine-height(行高)設置無效的問題的解決方法,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-11-29
  • 深入理解CSS行高line-height與文本垂直居中的原理

    本文詳細介紹了CSS行高屬性line-height與文本垂直居中的原理,通過本文的介紹相信對大家以后使用line-height和設置文本垂直居中會更加熟練,有需要的可以參考借鑒。下面一
    2016-08-12
  • 淺談css中vertical-align和line-height的用法

    下面小編就為大家?guī)硪黄獪\談css中vertical-align和line-height的用法。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧,祝大家游戲愉快
    2016-07-27
  • 全面了解css行高line-height的用法

    下面小編就為大家?guī)硪黄媪私鈉ss行高line-height的用法。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2016-06-25
  • CSS中的line-height行高屬性學習教程

    line-height對于頁面中字體的行距等排版方面的效果至關重要,這里為大家整理了CSS中的line-height行高屬性學習教程,包括line-height的各種取值設定等方面,需要的朋友可以參
    2016-06-06
  • CSS中的line-height行高屬性的使用技巧小結

    這篇文章主要介紹了CSS中的line-height屬性的使用技巧,文中同時給出了line-height使用中經(jīng)常出現(xiàn)的文字重疊問題的解決方法,需要的朋友可以參考下
    2016-02-02
  • CSS中行高line-height屬性的一些使用技巧

    這篇文章主要介紹了CSS中行高line-height屬性的一些使用技巧,包括為每行文本指定不同顏色和文本中間添加線時用到的一些操作方法,需要的朋友可以參考下
    2015-08-21
  • CSS屬性探秘系列(三):line-height

    本文從line-height的定義、line-height的理解、line-height的應用3個方面詳細為大家介紹了line-height,非常的詳細,有需要的朋友可以參考下
    2014-10-22
  • css中height和line-height區(qū)別

    這篇文章主要介紹了css中height和line-height區(qū)別,需要的朋友可以參考下
    2014-08-02
  • css line-height屬性的使用技巧

    本文介紹下,css中的line-height屬性的用法,通過實例學習css line-height屬性的具體用法,感興趣的朋友參考下
    2014-08-02

最新評論

本溪市| 班玛县| 沽源县| 定南县| 敦煌市| 拜城县| 江川县| 陕西省| 林芝县| 绥江县| 云霄县| 长汀县| 闽清县| 绥棱县| 安宁市| 达尔| 无棣县| 静乐县| 六盘水市| 大余县| 广宗县| 嵊泗县| 崇信县| 清远市| 合阳县| 五河县| 阿坝县| 乐东| 临清市| 德阳市| 家居| 营口市| 朝阳市| 黑龙江省| 时尚| 金寨县| 甘洛县| 长宁县| 新津县| 咸阳市| 岢岚县|