div底对齐
表格底对齐非常容易的,但非表格(比如div)容器下底对齐并不是很容易,尤其是多个容器一起。今天写了一个div下的垂直底对齐,与大家分享。
声明:由于使用了hack,且测试环境有限,不能保证所有浏览器下都能正常显示。
测试通过环境:ie6.0 、ff1.0+ 、oprea8.0+(欢迎补充)
代码如下:
HTML:
-
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-
<html xmlns="http://www.w3.org/1999/xhtml">
-
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
-
<title>div valign</title>
-
<style type="text/css">
-
*{
-
margin:0;
-
padding:0;
-
}
-
body{
-
background-color:#dde;
-
font:normal 12px/180% "宋体";
-
text-align:center;
-
}
-
#wrapper{
-
width:1000px;
-
overflow:hidden;
-
display:table-cell;
-
vertical-align:bottom;
-
text-align:left;
-
background-color:#fff;
-
border-bottom:3px solid #000;
-
}
-
.box{
-
display:table-cell;
-
width:200px;
-
vertical-align:bottom;
-
text-align:left;
-
}
-
.box{
-
zoom:1;
-
*display:inline;
-
}
-
#sidebar{
-
background-color:#000;
-
font:normal 12px/21px Verdana, Arial, Helvetica, sans-serif;
-
padding:10px;
-
}
-
#sidebar li{
-
border-bottom:1px solid #aaa;
-
}
-
#sidebar li a{
-
color:#aaa;
-
-
}
-
#wrapper .fix,#wrapper .container{display:table-cell;*display:inline; zoom:1;text-align:left;vertical-align:bottom;width:100%;}
-
#wrapper .fix{width:1px;margin-right:-1px;height:100%;}
-
-
</style>
-
</head>
-
-
<div id="wrapper">
-
<div class="container">
-
<div class="box">
-
<div id="sidebar">
-
<li><a href="http://canque.rssidea.com/cut_string_better/" title="更好地截取字符串">更好地截取字符串</a></li><li><a href="http://canque.rssidea.com/what_is_excellent_javascript/" title="javascript代码评价">javascript代码评价</a></li><li><a href="http://canque.rssidea.com/array_object_array-like-object/" title="Array,Object,Array-like Object">Array,Object,Array-like Object</a></li><li><a href="http://canque.rssidea.com/king_and_prisoners/" title="国王与囚犯(腾迅笔试题)">国王与囚犯(腾迅笔试题)</a></li><li><a href="http://canque.rssidea.com/microsoft_releases_javascript_compatibility_draft/" title="微软发布JavaScript兼容性研究草案">微软发布JavaScript兼容性研究草案</a></li><li><a href="http://canque.rssidea.com/javascript_space-time_sort/" title="javascript中的空间换时间算法">javascript中的空间换时间算法</a></li>
-
</ul>
-
</div>
-
</div>
-
<div class="box" style="font:normal 12px/180% '宋体'; width:700px; padding:10px; text-align:left; background-color:#fefefe;">
-
<img src="http://canque.rssidea.com/wp-content/uploads/rabbit.jpg" align="left" style="margin-right:10px;"/>
-
<br />
-
<p>写它的时候,一个人在空荡荡的公寓大楼里。已经放暑假了,大家都去做自己计划了很久的事情。有的人想念妈妈,于是就回家了;有的人梦想着海角天涯,于是就趁着这个漫长的暑假去跋涉万水千山。能这样活着、笑着、唱着,该多好啊。即便是寂寞青涩的,然而却是天堂。</p>
-
<p>我是个有家不可回有路不可走的孩子。我曾经梦想着自己可以在那片草原上慢慢长大,然后再在那里慢慢变老,可是注定做不到。只好把他乡做故乡,四处流 浪。假期的校园安静极了,像一座被生命遗弃的恢弘的城堡,楼房、草坪、荒长的树丛、蔓生的野草,围墙高筑,时光难辨。超市和网吧都已经停业了。也没有了门 口的清水罐里插满顽皮的满天星的鲜花店。书店、食堂、小吃铺,都消失不见。我想我就是这座恢弘城堡里的美丽弃婴,名叫脱脱。泥塔高筑,这个器皿中时光难 辨。</p>
-
<p>一个人走在寂寞的校园里,躺在温暖的草坪上看荷花玉兰的叶子一片一片地被风吹起来,它们的绿色一片浓似一片。看着漠漠的苍穹静静地伸向北方之北的那个地方,我是为什么,为什么就对着大团大团的白云泪流满面了呢?</p>
-
<p>南方的酷热已经要结束了。这个时候,草原上的凋零萧杀之气会一日寒似一日。阳光渐渐淡薄下来,拉长了胡杨树的影子。一切酝酿、一起期盼、一切成熟、一切丰润,都向虚无与幻灭滑落。在极致的完美和深沉的幸福中,隐藏着巨大的黑色的忧伤。</p>
-
<p>一个人住在金翰林公寓的一栋楼里,我的寝室在第五层。拉开窗子,可以看到无限沉默的夜空,常常幻想那是北极的天空。美丽奇幻的极光飞舞幻灭,漫天的 星星到处飘摇,夜晚潮湿的气流会打湿我的脸庞。裸露在湿气里,感觉到了自己的身体会慢慢慢慢,慢慢地生出锈来。很多个寂静的夜晚,我都会趴在阳台上静静地 想,要是,要是从这样的高处跳下去会怎样呢?</p>
-
<p>有时候会打开寝室的门,在空空的楼道里散步。寂寞的空气被我踩在脚下,发出扑扑的声音。而每踩一步,我的脚都像是悬浮在半空中,它们在我心底发出巨 大的沉闷的回声。我想在这个时候,我是整层楼的拥有者,也是这座遗弃的城堡的女王。这种大胆的设想常常会让我感到一种破碎的幸福,飞扬的碎片挤破了我的心 脏。</p>
-
<p>晚上睡觉的时候,会把房顶的风扇开成最大,然后会常常冷得抱紧被子。可是那呜呜的类似某种兽类的哀叫会让我感到心安。有谁会知道,一个人的日子,那种孤独寂寞,无边无际,如同万丈深渊,跌落到里面的人会多么恐惧和无助。</p>
-
<p>这就是我的2004年的暑假,这一年我读大二,这一年我不能回家,这一年我自己和自己寂寞地玩耍。同学们都回到了摇晃着他们摇篮的地方。他们在妈妈 的身旁,撒娇,微笑或哭泣,吃妈妈给他们做的好吃的食物。而我,却只能够把自己关在寝室里,对着电脑写下这些文字。我面无表情地坐在安静的木头椅子上,文 字从我的手指间缓缓地流淌。它们发出血液崩涌的汩汩的声音,而我的心里,是多么,多么的难过。</p>
-
<p>我蜷缩在冰凉的墙角里哭。后悔很多人为什么没有好好去珍惜,后悔没有对错过的人们说我爱你,后悔没有好好珍惜我的大学时光,没有好好学习天天向上。 我的大学时光是一条平静地奔流着的宽广的大河。可是没有谁会知道,那下面奔流着怎样汹涌澎湃着的暗流。宽阔的河床里漂浮着我光荣而破碎了的图腾,走过的崎 岖没有多少人能知道。日日缺憾的依然只是生活。属于我的那个阳光温暖的夏日午后,不知道用尽了我生命的力气,是不是就可以靠近?哭过之后我问自己,难道我 的大学的路途注定是千山万里,是凹凸不平,是蜿蜒曲折的上坡路吗?——是的,一直到尽头。可是,要怎样,究竟要怎样我才能够把自己泅渡到彼岸呢?</p>
-
-
-
</div>
-
<div class="box" style="width:60px;">
-
<div style="height:500px;background-color:#000; color:#ccc; padding:5px;">
-
我也垂直底对齐了。
-
</div>
-
</div>
-
</div>
-
<div class="fix"></div>
-
</div>
-
看看上面3个box有没有底对齐。
-
</body>
-
</html>
原理大家可以看看这篇文章: css实现垂直居中大同小异。