校园春色亚洲色图_亚洲视频分类_中文字幕精品一区二区精品_麻豆一区区三区四区产品精品蜜桃

主頁 > 知識庫 > 全面理解line-height與vertical-align

全面理解line-height與vertical-align

熱門標簽:高德地圖標注廁所 江西ai電銷機器人如何 智能語音電銷機器人客戶端 地圖標注員工作內容 威海語音外呼系統平臺 西安金倫外呼系統 地圖標注沿海城市房價 通遼地圖標注app 中國地圖標注城市的
前面的話

  line-height、font-size、vertical-align是設置行內元素布局的關鍵屬性。這三個屬性是相互依賴的關系,改變行間距離、設置垂直對齊等都需要它們的通力合作。在CSS字體里面已經詳細介紹了font-size的相關內容,本文將主要介紹line-height與vertical-align。

line-height

定義

  line-height行高是指文本行基線之間的距離。行高line-height實際上只影響行內元素和其他行內內容,而不會直接影響塊級元素,也可以為一個塊級元素設置line-height,但這個值只是應用到塊級元素的內聯內容時才會有影響。在塊級元素上聲明line-height會為該塊級元素的內容設置一個最小行框高度

  值: <length> | <percentage> | <number> | normal | inherit

  初始值: normal

  應用于: 所有元素

  繼承性: 有

  百分數: 相對于元素的字體大小font-size

術語

  要深入理解line-height,需要理解關于行框構建的常用術語。

內容區

  對于行內非替換元素或匿名文本某一部分,font-size和font-family確定了內容區的高度。在宋體情況下,如果一個行內元素的font-size為15px,則內容區的高度為15px;而在其他字體情況下,內容區的高度并不等于字體大小

行內框

  內容區加上行間距等于行內框。如果一個行內非替換元素的font-size為15px,line-height為21px,則相差6px。用戶代理將這6像素一分為二,將其一半分別應用到內容區的頂部和底部,這就得到了行內框

  當line-height小于font-size時,行內框實際上小于內容區

行框

  行框定義為行中最高行內框的頂端到最低行內框底端之間的距離,而且各行框的頂端挨著上一行行框的底端

框屬性

  內邊距、外邊距和邊框不影響行框的高度,即不影響行高

  行內元素的邊框邊界由font-size而不是line-height控制

  外邊距不會應用到行內非替換元素的頂端和底端

  margin-left、padding-left、border-left應用到元素的開始處;而margin-right、padding-right、border-right應用到元素的結尾處

替換元素

  行內替換元素需要使用line-height值,從而在垂直對齊時能正確地定位元素。因為vertical-align的百分數值是相對于元素的line-height來計算的。對于垂直對齊來說,圖像本身的高度無關緊要,關鍵是line-height的值

  默認地,行內替換元素位于基線上。如果向替換元素增加下內邊距、外邊距或邊框,內容區會上移。替換元素的基線是正常流中最后一個行框的基線。除非,該替換元素內容為空或者本身的overflow屬性值不是visible,這種情況下基線是margin底邊緣

vertical-align

定義

  vertical-align用來設置垂直對齊方式,所有垂直對齊的元素都會影響行高

  值: baseline | sub | super | top | text-top | middle | bottom | text-bottom | <length> | <percentage> | inherit

  初始值: baseline

  應用于: 行內元素、替換元素、表單元格

  繼承性: 無

  百分數: 相對于元素的行高line-height

  [注意]IE7-瀏覽器中vertical-align的百分比值不支持小數行高,且取baseline、middle、text-bottom等值時與標準瀏覽器在展示效果不一樣,常用的解決辦法是將行內元素設置display:inline-block

CSS Code復制內容到剪貼板
  1. vertical-align:baselinebaseline(元素的基線與父元素的基線對齊)   
  2. vertical-align:sub(降低元素的基線到父元素合適的下標位置)   
  3. vertical-align:super(升高元素的基線到父元素合適的上標位置)   
  4. vertical-align:bottombottom(把對齊的子元素的底端與行框底端對齊)   
  5. vertical-align:text-bottom(把元素的底端與父元素內容區域的底端對齊)   
  6. vertical-align:top(把對齊的子元素的頂端與行框頂端對齊)   
  7. vertical-align:text-top(把元素的頂端與父元素內容區域的頂端對齊)   
  8. vertical-align:middle(元素的中垂點與父元素的基線加1/2父元素中字母X的高度對齊)   
  9. vertical-align:(+-n)px(元素相對于基線上下偏移npx)   
  10. vertical-align:x%(相對于元素的line-height值)   
  11. vertical-align:inherit(從父元素繼承vertical-align屬性的值)  

  [注意]<sub>和<sup>默認攜帶樣式vertical-align:sub/super

inline-block底部空隙

  inline-block元素在塊級元素中留空隙就是因為圖像的默認垂直對齊方式是基線對齊(基線對齊在原理上圖像底邊與匿名文本大寫英文字母X的底邊對齊);而匿名文本是有行高的,所以X的底邊距離行框有一段距離,這段距離就是圖像留出的空隙

  于是,解決這個問題有以下幾個解決辦法

  [1]display:block

  因為垂直對齊方式只能作用于替換元素和行內元素,更改為塊級元素,會使垂直對齊方式失效

  [2]父級的line-height: 0

  這樣使匿名文本與行框的距離為0

  [3]vertical-align: top/middle/bottom

應用

【1】單行文本水平垂直居中

XML/HTML Code復制內容到剪貼板
  1. div{   
  2.     line-height: 100px;   
  3.     width: 100px;   
  4.     text-align: center;   
  5.     border: 1px solid black;   
  6. }   
  7.   
  8. <div>測試文字</div>  

  [注意]好多地方都寫著單行文本垂直居中是將高度和行高設置成一樣的值,但高度其實是沒有必要設置的。僅僅設置行高就可以,文字在一行中本身就是垂直居中顯示掃

【2】圖片近似垂直居中

XML/HTML Code復制內容到剪貼板

  1. div{   
  2.     line-height: 200px;   
  3.     text-align: center;   
  4. }   
  5. img{   
  6.     vertical-align: middle;   
  7. }   
  8. <div>  
  9.     <img src="#" alt="#">  
  10. </div>  

  由于字符X在em框中并不是垂直居中的,且各個字體的字符X的高低位置不一致。所以,當字體大小較大時,這種差異就更明顯

  [注意]IE7瀏覽器在寫塊級元素包含行內元素時一定要寫成換行寫法,而不要寫在一行


復制代碼
代碼如下:
//正確1<div> <img src="#" alt="#"></div>//正確2<div><img src="#" alt="#"><!-- 這里要折行或空格 --></div>//錯誤<div><img src="#" alt="#"></div>

【3】圖片完全垂直居中

  在方法2的基礎上設置塊級元素的font-size為0,則可以設置圖片完全垂直居中


復制代碼
代碼如下:
div{ line-height: 200px; text-align: center; font-size: 0;}img{ vertical-align: middle;}

復制代碼
代碼如下:
<div> <img src="#" alt="#"></div>

【4】多行文本水平垂直居中

  由于方法3設置font-size為0的局限性,塊級元素里面無法放置文本。方法4主要通過新增元素來實現垂直居中效果,該方法也可用于圖片的水平垂直居中

XML/HTML Code復制內容到剪貼板
  1. div{   
  2.     height: 100px;   
  3.     width: 200px;   
  4.     background-color: pink;   
  5.     text-align: center;   
  6. }   
  7. span{   
  8.     display:inline-block;   
  9.     vertical-align: middle;   
  10.     line-height: 20px;   
  11.     width: 100px;   
  12. }       
  13. i{   
  14.     display: inline-block;   
  15.     height: 100%;   
  16.     vertical-align: middle;   
  17. }  

XML/HTML Code復制內容到剪貼板
  1. <div>  
  2.        <i></i><span>我是特別長的特別長的特別長的特別長的多行文字</span>  
  3.    </div>    

 

【5】圖標和文本對齊

<方法一>使用長度負值

復制代碼
代碼如下:
img{ vertical-align: -5px;}

  根據實踐經驗,20*20像素的圖標后面跟14px的文字,vertical-align設置為-5px可以達到比較好的對齊效果

<方法二>使用文本底部對齊

復制代碼
代碼如下:
img{ vertical-align: text-bottom;}

  使用baseline會使圖標偏上;使用top/bottom會受到其他行內元素影響造成定位偏差;使用middle需要恰好的字體大小且兼容性不高;使用text-bottom較合適,不受行高及其他內聯元素影響

以上就是本文的全部內容,希望對大家的學習有所幫助。

原文:http://www.cnblogs.com/xiaohuochai/p/5271217.html

標簽:營口 阜陽 崇左 晉中 青海 眉山 北海 河池

巨人網絡通訊聲明:本文標題《全面理解line-height與vertical-align》,本文關鍵詞  全面,理解,line-height,與,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《全面理解line-height與vertical-align》相關的同類信息!
  • 本頁收集關于全面理解line-height與vertical-align的相關信息資訊供網民參考!
  • 推薦文章
    校园春色亚洲色图_亚洲视频分类_中文字幕精品一区二区精品_麻豆一区区三区四区产品精品蜜桃
    成人美女视频在线看| 欧美一区二区在线视频| 久久日韩粉嫩一区二区三区| 精品国产免费人成电影在线观看四季| aaa国产一区| 99久久国产综合色|国产精品| 国产成人免费av在线| 高清成人在线观看| 成人精品免费网站| 一本大道久久a久久综合| 国产精品自拍av| 成人v精品蜜桃久久一区| 蜜臀a∨国产成人精品| 午夜精品久久久久久久| 天涯成人国产亚洲精品一区av| 国产精品久久精品日日| 国产精品久久看| 亚洲精品免费一二三区| 日韩av二区在线播放| 国内欧美视频一区二区| 国产伦精品一区二区三区视频青涩| 捆绑调教一区二区三区| 日韩va亚洲va欧美va久久| 全国精品久久少妇| 久久99精品国产麻豆婷婷洗澡| 亚洲激情六月丁香| 久久国产精品一区二区| 成人国产视频在线观看| 欧美日免费三级在线| 日韩免费性生活视频播放| 欧美国产日韩a欧美在线观看| 亚洲人成网站精品片在线观看| 天天操天天干天天综合网| 国产一区在线看| 91啪亚洲精品| 日韩精品一区二区在线| 亚洲欧美激情小说另类| 久久狠狠亚洲综合| 91极品美女在线| 久久综合丝袜日本网| 成人一区二区视频| 欧美一级视频精品观看| 国产丝袜在线精品| 亚洲电影中文字幕在线观看| 国产成人精品午夜视频免费| 7777精品久久久大香线蕉| 中文字幕一区二区三区在线不卡| 性做久久久久久久久| 成人黄色小视频| 欧美一区二区美女| 亚洲精品一二三| 国产成人精品影视| 欧美va天堂va视频va在线| 亚洲成a天堂v人片| 成人av网站在线观看免费| 日韩女优电影在线观看| 日韩激情一区二区| 色婷婷一区二区| 国产真实乱子伦精品视频| 在线观看精品一区| 在线成人高清不卡| 一区二区三区高清| 成人一级黄色片| 久久蜜桃av一区精品变态类天堂| 性欧美大战久久久久久久久| 91亚洲精品久久久蜜桃网站 | 99精品视频一区二区| 日韩欧美国产综合在线一区二区三区| 亚洲欧美另类久久久精品2019| 国产精品羞羞答答xxdd| 日韩欧美一卡二卡| 久久激情综合网| 精品人在线二区三区| 日韩精品一二三四| 欧美群妇大交群中文字幕| 一区二区三区中文字幕电影 | 天堂成人免费av电影一区| 自拍偷拍亚洲综合| 色综合久久中文综合久久牛| 最新国产精品久久精品| av在线这里只有精品| 亚洲色图另类专区| 欧美在线免费观看亚洲| 五月婷婷激情综合| 日韩女优电影在线观看| 国产美女精品人人做人人爽| 国产午夜精品一区二区三区视频 | 波多野结衣视频一区| 中文字幕的久久| 不卡av在线网| 亚洲欧美日韩综合aⅴ视频| 一本大道久久精品懂色aⅴ| 亚洲日本青草视频在线怡红院| 在线观看日韩电影| 爽爽淫人综合网网站| 精品动漫一区二区三区在线观看| 国产精品一区不卡| 亚洲精品一二三区| 91麻豆精品国产91久久久久久久久| 天天操天天综合网| 中文字幕乱码一区二区免费| 99精品久久久久久| 日韩不卡一区二区三区| 欧美激情一区在线观看| 色成年激情久久综合| 日韩高清一区二区| 欧美极品另类videosde| 精品视频在线看| 国产一区二区三区免费观看| 一区二区在线观看视频| 日韩欧美一级二级| kk眼镜猥琐国模调教系列一区二区| 亚洲一线二线三线视频| 精品欧美一区二区三区精品久久| www.亚洲人| 久久不见久久见免费视频7| 亚洲丝袜另类动漫二区| 91精品在线麻豆| 综合自拍亚洲综合图不卡区| 91精品在线麻豆| 色综合天天综合色综合av| 精品亚洲国产成人av制服丝袜| 欧美激情综合五月色丁香小说| 欧美另类videos死尸| 91丨国产丨九色丨pron| 国产精品综合网| 免费人成网站在线观看欧美高清| 亚洲女同一区二区| 欧美国产激情一区二区三区蜜月| 欧美优质美女网站| av一区二区三区| 国产成人午夜99999| 美女视频网站久久| 一区二区三区电影在线播| 国产欧美一区二区在线| 日韩视频永久免费| 欧美精品在线一区二区三区| 色哟哟国产精品| 97久久久精品综合88久久| 日本不卡不码高清免费观看 | 在线精品亚洲一区二区不卡| 国产成人av福利| 国产精品一区二区视频| 久草中文综合在线| 日韩高清在线观看| 亚洲超碰精品一区二区| 亚洲卡通动漫在线| 亚洲精品国产无天堂网2021| 中文字幕精品一区| 国产精品丝袜久久久久久app| 欧美成人乱码一区二区三区| 日韩一区二区在线看| 欧美一区二区三区喷汁尤物| 欧美一区二区三区视频| 欧美男生操女生| 91精品视频网| 制服视频三区第一页精品| 7777女厕盗摄久久久| 欧美欧美欧美欧美| 在线电影一区二区三区| 欧美精品自拍偷拍| 欧美电视剧在线看免费| 久久日韩精品一区二区五区| 日韩精品一区二区三区老鸭窝| 日韩精品一区二区三区在线观看 | 国产夫妻精品视频| 国产精品久久久久天堂| 国产亚洲污的网站| 成人欧美一区二区三区黑人麻豆| 国产精品久久久久久久久免费樱桃 | 欧美少妇bbb| 欧美日本在线观看| 日韩欧美的一区| 国产午夜精品久久| 最新国产成人在线观看| 亚洲成人7777| 国精产品一区一区三区mba视频 | 日韩亚洲欧美在线观看| 久久蜜桃香蕉精品一区二区三区| 日本一二三不卡| 亚洲成人午夜影院| 国产精品 日产精品 欧美精品| 99久久久久久| 日韩精品一区二区三区在线观看| 精品久久久久久久久久久久久久久| 国产精品丝袜久久久久久app| 香蕉成人伊视频在线观看| 国产伦精品一区二区三区在线观看| 色综合一个色综合亚洲| 精品美女在线播放| 亚洲永久精品大片| 国产suv精品一区二区6| 欧美日韩在线播放三区四区| 日韩精品一区二区三区视频在线观看 | 亚洲精品亚洲人成人网| 激情五月激情综合网| 欧美性大战久久久久久久| 欧美—级在线免费片| 免费看欧美女人艹b| 色成人在线视频|