值 描述
baseline 預設。元素放置在父元素的基準上。
sub 垂直對齊文本的下標。
super 垂直對齊文本的上標
top 把元素的頂端與行中最高元素的頂端對齊
text-top 把元素的頂端與父元素字型的頂端對齊
middle 把此元素放置在父元素的中部。
bottom 把元素的頂端與行中最低的元素的頂端對齊。
text-bottom 把元素的底端與父元素字型的底端對齊。
length
% 使用 "line-height" 屬性的百分比值來排列此元素。允許使用負值。
inherit 規定應該從父元素繼承 vertical-align 屬性的值。
我們可以將div標籤換成span標籤,將浮動去掉,並且添加display:inline-block,然後再去改變值,哈哈。小藍色方塊的位置改變了。這說明了之前的結論。
文法: vertical-align : baseline | sub | super | top | text- top | middle | bottom | text-bottom | <百分比> | <長度> | inherit。
對各個值的說明
該屬性定義行內元素的基準相對於該元素所在行的基準的垂直對齊。預設值是baseline。允許指定負長度值和百分比值。這會使元素降低而不是升高。在表儲存格中,這個屬性會設定儲存格框中的儲存格內容的對齊。
vertical-align 屬性設定元素的垂直對齊。
很重要的一點就是它是針對行內元素起作用的,如果不是行內元素或者沒有設定成display:inline或者display:inline-block的元素就可能出現各種各樣的問題,有的生效了,有的卻沒有生效。
這裡我舉例來說明一下。 代碼如下所示:
代碼如下 |
複製代碼 |
<!doctype html> 2 <html > 3 <head> 4 <meta http-equiv="content-type" content="text/html;charset=gb2312" /> 5 <style type="text/css"> 6 * { margin:0; padding:0 } 7 #doc { width:990px; margin:0 auto; margin-top:50px; } 8 #doc h4 { border-bottom:1px solid #000; margin:10px 0px; } 9 .out-box { background:#dfdfdf; color:white; padding-left:10px;display:inline-block;line-height:205px;} 10 .in-box {display:inline-block;width:5px; height:5px; background:blue;margin-right:10px;overflow:hidden;vertical-align:middle } 11 img {vertical-align:middle; } 12 </style> 13 <title></title> 14 </head> 15 <body> 16 <div id="doc"> 17 <h4>vertical-align的研究</h4> 18 <span class="out-box"> 19 <span class="in-box"> 20 </span> 研究vertical-align屬性的作用<img src="dj.jpg"/> 21 </span> 22 <div style="line-height:140px; border:1px solid #666;font-size:12px"> 23 <span style="font-size:40px; border:1px solid #999; vertical-align:text-top;">前面</span>後面。 24 </div> 25 </div> 26 </body> |
在ie8,9的顯示是
vertical align和inline-block
圖片,從理論上來說是行內元素,表現上卻像是行內區塊層級元素。你可以給它設定高度和寬度,它會遵守,不像其它行內元素。
給行內區塊層級元素應用vertical-align,表現就像如上圖片那樣,這是vertical-align是最少讓你擔心的。但是那是另外一個故事了