当前位置: 首页 > 图文教程 > 网页制作 > CSS样式表 > css 非表格垂直对齐效果代码

CSS样式表
用css实现图片垂直居中的使用技巧
CSS List Grid Layout 图片垂直居中
IE6网页神奇BUG
Marquee高级用法实例代码
web标准知识——从p开始,循序渐进
web标准知识——用途相似的标签
html链接与文本标签们
当标题不能显示完整的解决方法
详解链接的rel与target区别
使css兼容IE8的小技巧
CSS 首字母大写代码
CSSvista可同时在IE和Fifrefox调试的CSS编辑提供下载
css font缩写总结附实例
css下margin、padding、border、background和font缩写示例
用CSS来控制图片显示大小的代码
css下划线颜色一句话代码
css常见问题解决方法小结
relative absolute无法冲破的等级问题解决
div总是被select遮挡的解决方法
CSS文字截取功能实现代码

CSS样式表 中的 css 非表格垂直对齐效果代码


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2010-01-10   浏览: 201 ::
收藏到网摘: n/a

第一:相对定位和绝对定位

以下是一固定宽高的Div的垂直居中代码

复制代码
代码如下:

div{
position:absolute;
top:50%; left:50%;
width:400px; height:400px;
margin:-200px 0 0 -200px;
border:1px solid #000000;
}

position:absolute,绝对定位,可以把这个div看成漂浮于这个页面之上,通过top:50%和left:50%定位这个div的位置,但这个时候,垂直与水平居中的是这个div左上角这一点。所以,要让这个div的中心点位于整个页面的中间,需要使用负边界,负的上边界,负值是高度的一半;负的左边界,负值是宽度的一半。即达到效果。
如果是不定宽高的Div,则需要再多嵌套两个Div,需要对CSS的定位概念仔细理解。


第二:不同的DISPLAY方式


Div不是表格,但是当代的浏览器中除了IE都支持display:table-cell。恰好,IE支持dispaly:inline-block,那么我们就用两种方式为当代浏览器实现非表格的垂直居中,殊途同归。

HTML如下:

复制代码
代码如下:

<div id="div1">blah blah...看见我居中了吗?</div>
<div id="div2">
<p>blah blah...</p>
....
</div>

CSS如下:

复制代码
代码如下:

#div1, #div2 {display:table-cell; *display: inline; zoom:1; vertical-align:middle;}

我们来重点分析CSS。如您所知,*property是一个只有IE(包括IE7)才能解析的hack. 那么为何是inline而不是inline-block呢?这跟IE的变态工作方式有关,具体不深究。在此你只需知道加上zoom:1后,就等价于inline-block。另外,如果是a, span等非block的元素,则按正常方式display:inline-block。