用CSS实现两列高度相同并自适应高度

以前写过一篇关于DIV布局两列等高的文章(Div+Css布局中列等高技巧),不过是用JS来控制两列等高并自适应高度,如果只用CSS来控制两列等高,该怎么做?

看代码:

  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  2. <html xmlns="http://www.w3.org/1999/xhtml">
  3. <head>
  4. <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  5. <style>
  6. html,body,tbody{margin:0;padding:0;}
  7. #Body{overflow:hidden;padding:0;padding-left:180px;}
  8. #Left,#Right{height:auto;margin-bottom:-32767px;padding-bottom:32767px;}
  9. #Left{display:inline;float:left;width:180px;margin-left:-180px;background:#CCC;}
  10. #Right{float:right;width:100%;background:#999;}
  11. </style>
  12. </head>
  13. <body>
  14. <div id="Body">
  15. <div id="Left">asdfasdfasdfasdf<br /><br /></div>
  16. <div id="Right"><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /></div>
  17. </div>
  18. </body>
  19. </html>

#Left,#Right{height:auto;margin-bottom:-32767px;padding-bottom:32767px;}这是这个实例中比较关键的一句,通过margin和padding属性来实现两列等高。

其实原理很简单,只是看你怎么去思考,CSS很强大,没有做不到的,只有想不到的,应该是这样吧!

有话要说