CSS+div页面布局技巧(像table一样)

发布时间:2020-05-03编辑:脚本学堂
本文主要概述:css布局网页又一新的使用技巧,学习中的朋友一定要看一看。

下面讲css div布局网页的又一技巧,可以像表格一样进行布局。请看下面例子: 
 

复制代码 代码示例:

 .equal {
  display:table;
  border-collapse:separate;
 }
 .row {
  display:table-row;
 }
 .row div {
  display:table-cell;
 }
  html,body {
  margin:0;
  padding:0;
  color:#000;
  background:#fff;
 }
 body {
  font:76%/140% "Lucida Grande", "Lucida Sans Unicode", Arial, Helvetica, sans-serif;
 }
 .equal {
  margin:10px auto;
  border-spacing:10px;
  background:#898B60;
  width:600px;
 }
 .row div {
  background:#fff;
 }
 .row .one {
  width:200px;
 }
 .row .two {
  width:200px;
 }
 .row .three {
  vertical-align:middle;
 }
 .row div h2 {
  margin:0 0 0.5em 0;
  padding:0.5em 10px;
  font-size:1.2em;
  color:#fff;
  background:#595B30;
 }
 .row div p {
  font-size:0.94em;
  margin:0.5em 0;
  padding:0 10px;
 }
 #labfooter {
  text-align:center;
  clear:both;
 }
 </style>
<!-- Some rules to make IE/Win display the boxes with variable height. -->
<!--[if IE]>
 <style type="text/css" media="all">
.equal, .row {
 display:block;
}
.row {
 padding:10px;
}
.row div {
 display:block;
 float:left;
 margin:0;
}
.row .two {
 margin-left:10px;
}
.row .three {
 width:160px;
 float:right;

 margin-right:50px;
}
.ieclearer {
 float:none;
 clear:both;
 height:0;
 padding:0;
 font-size: 2px;
 line-height:0;
}
 </style>
<![endif]-->

</head>
<body>
<div class="equal">
 <div class="row">
 <div class="one">
  <h2>This is a box</h2>
   这个容器含有较少的内容,但是他的高低却能和较多内容的容器等高</div>
  <div class="two">
    <h2>This is another box</h2>
   <p>这个盒子含有比另外一个更多的内容. 如果所有的容器都作为单元格显示, 那么它的高度将是所有容器的高度. 它现在像表格一样显示, 但是他不是一个表格.</p>
   <p>另外, display:table, display:table-row and display:table-cell 使的div显示出像表格一样的效果,遗憾的是他不能正常运行在你所熟悉的浏览器IE上,可以顺利运行于像 Mozilla, Opera, Safari, Firefox, OmniWeb, Camino, and Netscape.这些浏览器上面.然后IE得到供选择CSS,规则防止它完全地毁坏这种布局。</p>
   <p>了解更多细节: <a href="http://www.jb200.com">Equal height boxes with CSS</a>.</p>
  </div>
  <div class="three">
  <p>这也是个含有较少内容的容器.而且内容是垂直居中显示的</p>
  </div>
  <!--[if IE]>
  <div class="ieclearer"></div>
  <![endif]-->
 </div>
</div>
<div id="labfooter">
 <a href="http://www.jb200.com/">网页布局</a>
</body>
 

然后在CSS中也增加一个判断,配合xhtml,用浮动对齐的方式来实现容器的等高并排放置,但是还是无法实现等高,你可以采用添加背景颜色的视觉错觉来实现视觉上的等高,下面是CSS中的代码:
 

复制代码 代码示例:
<!--[if IE]>
    <style type="text/css" media="all">
.equal, .row {
    display:block;
}
.row {
    padding:10px;
}
.row div {
    display:block;
    float:left;
    margin:0;
}
.row .two {
    margin-left:10px;
}
.row .three {
    width:160px;
    float:right;
}
.ieclearer {
    float:none;
    clear:both;
    height:0;
    padding:0;
    font-size: 2px;
    line-height:0;
}
</style>