久久久久久久av_日韩在线中文_看一级毛片视频_日本精品二区_成人深夜福利视频_武道仙尊动漫在线观看

深入理解css中vertical-align屬性

本篇文章主要介紹了深入理解css中vertical-align屬性 ,小編覺得挺不錯的,現在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧

一、為什么要寫這篇文章

今天看到一個問題:

兩個div 都設置 display:inline-block,正常顯示;但是在第二個div中加一個塊級元素或者內聯元素,顯示就變了個樣,為什么?

<meta charset="utf-8"/>
<style>
div{
    width: 100px;
    height: 100px;
    border:1px solid red;
    display: inline-block;
}
.align{
/*    vertical-align: top;*/
}
</style>
<body>
    <div>
    </div>
    <div class="align">為什么?</div>
</body>

深入理解css中vertical-align屬性

解決方案就是給第二個div加上:vertical-align:top。

關于vertical-align和基線我知道一點,但是這個問題我沒能答出,所以學習總結分享一下。

二、vertical-align干什么的?

w3c有一段相關信息如下:

 

'vertical-align'
Value:      baseline | sub | super | top | text-top | middle | bottom | text-bottom | <percentage> | <length> | inherit
Initial:      baseline
Applies to:      inline-level and 'table-cell' elements
Inherited:      no
Percentages:      refer to the 'line-height' of the element itself
Media:      visual
Computed value:      for <percentage> and <length> the absolute length, otherwise as specified

可以看到vertical-align影響inline-level元素和table-cell元素垂直方向上的布局。根據MDN描述,vertical-align對::first-letter和::first-line同樣適用。

適用于:

inline水平的元素  

inline:<img>,<span>,<strong>,<em>,未知元素  

inline-block:<input>(IE8+),<button><IE8+>....

'table-cell'元素

table-cell:<td>

所以默認情況下,圖片,按鈕,文字和單元格都可以用vertical-align屬性。

取值:


復制代碼
代碼如下:
vertical-align: baseline|length|percentage|sub|super|top|middle|bottom|text-top|text-bottom|initial|inherit;

三、baseline

1、字母‘x’與baseline

 字母x的下邊緣(線)就是基線。不是字母s之類下面有尾巴的字母

深入理解css中vertical-align屬性

基線甚至衍生出了:  

1.“alphabetic” baseline: “字母”基線 – 英文  

2.“hanging” baseline: “懸掛”基線 – 印度文  

3.“ideographic” baseline: “表意”基線 – 中文

深入理解css中vertical-align屬性

2、baseline的確定規則

1、inline-table元素的baseline是它的table第一行的baseline。

2、父元素【line box】的baseline是最后一個inline box 的baseline。

3、inline-block元素的baseline確定規則  

規則1:inline-block元素,如果內部有line box,則inline-block元素的baseline就是最后一個作為內容存在的元素[inline box]的baseline,而這個元素的baseline的確定就要根據它自身來定了。  

規則2:inline-block元素,如果其內部沒有line box或它的overflow屬性不是visible,那么baseline將是這個inline-block元素的底margin邊界。

3、例子:inline-block例子

深入理解css中vertical-align屬性

上圖描述:

上圖中從左到右都是line-block元素,紅線代表margin-box的邊界,藍線代表baseline;黃色為border,綠色為padding,藍色為content。

左邊元素包含著沒有脫離正常流的內容c,中間元素除了沒有脫離正常流的內容c外還增加了overflow:hidden,右邊元素沒有內容,但是內容區有寬高。

分析圖中各種情況inline-block元素的baseline:

上圖左圖,inline-block元素有處于正常流的內容,根據規則1,所以inline-block的baseline就是最后一個作為內容存在的元素的baseline,也就是內容c的baseline,而c的baseline根據自身定,就是圖中藍色。

上圖中圖,inline-block元素overflow:hidden不為visible,根據規則2,該inline-block元素baseline就是inline-block元素的margin-box的下邊界了,即圖中藍線。

上圖右圖,inline-block元素沒有內容,根據規則2,所以其baseline為margin-box的下邊界,即藍線。

4、例子:baseline確定規則例子

【網站聲明】本站除付費源碼經過測試外,其他素材未做測試,不保證完整性,網站上部分源碼僅限學習交流,請勿用于商業用途。如損害你的權益請聯系客服QQ:2655101040 給予處理,謝謝支持。

相關文檔推薦

這篇文章主要介紹了純css實現照片墻3D效果的示例代碼,可以實現鼠標經過圖片實現改變,具有一定的參考價值,感興趣的小伙伴們可以參考一下
本篇文章主要介紹了純 Css 繪制扇形的方法示例,小編覺得挺不錯的,現在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
本篇文章主要介紹了一份純CSS loading效果代碼示例,小編覺得挺不錯的,現在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
這篇文章主要介紹了css 實現文字過長自動隱藏功能,需要的朋友可以參考下
本篇文章主要介紹了詳解CSS3 rem(設置字體大小) 教程,小編覺得挺不錯的,現在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
本篇文章主要介紹了CSS3 linear-gradient線性漸變生成加號和減號的方法,具有一定的參考價值,感興趣的小伙伴們可以參考一下
主站蜘蛛池模板: 久久天堂 | 国产精品二区三区在线观看 | 97起碰| 日韩av在线免费 | 国产在线视频一区二区董小宛性色 | 国产小视频在线观看 | 欧美日韩国产一区二区 | 欧美精品中文字幕久久二区 | 国产免费一区 | 成年视频在线观看福利资源 | 日日夜夜影院 | 精品国产伦一区二区三区观看体验 | 伊人久久大香线 | 久久高潮 | 超碰网址| 在线成人 | www.亚洲一区二区 | www.久久久久久久久 | 国产乱码精品一区二区三区忘忧草 | 日本一区二区高清视频 | 天天操天天拍 | 亚洲欧美一区二区三区国产精品 | 亚洲国产成人精品女人久久久 | 中文字幕不卡在线88 | 一级黄a视频 | 二区视频 | 亚洲v日韩v综合v精品v | 国产成人精品一区二区三区在线观看 | 韩国精品在线观看 | 九九热久久免费视频 | 一二三四在线视频观看社区 | 91在线精品视频 | 91久久久久久久久久久 | www.亚洲视频.com | 国产一区在线免费观看视频 | 欧洲尺码日本国产精品 | 农夫在线精品视频免费观看 | 日韩欧美视频免费在线观看 | 成人欧美一区二区三区黑人孕妇 | 欧美八区| 中文字幕亚洲精品 |