css vertical-align在ie6,ie8不同用法分析

2016-03-02    编辑:kp12345     点击(

值 描述
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是最少让你担心的。但是那是另外一个故事了