列布局垂直对齐

时间:2012-06-22 20:10:35

标签: html css layout vertical-alignment

我希望实现以下布局:

enter image description here

但是,我似乎无法使文本垂直对齐。

我试过浮动div,但无法让它工作。

使用创建上述内容的最少元素,而不是使用表格,最简单,最语义的方式是什么?

4 个答案:

答案 0 :(得分:1)

如果你真的想使用div,请执行以下操作:

<div style="overflow:auto">
    <div style="float:left">left stuff</div>
    <div style="float:right">
        <div>right top stuff</div>
        <div>right bottom stuff</div>
    </div>
</div>

根据需要给出宽度/高度

答案 1 :(得分:0)

我认为你正在寻找的元素本身是align="center"

这有效:

<table border="1px" width="100px" height="100px">
   <tbody>
          <tr>
             <td align="center" width="50px" rowspan="2">HI</td>
             <td align="center" style="vertical-align:center;" width="100"> test </td>
          </tr>
          <tr>
             <td align="center" style="align:center;vertical-align:center;" width="100"> test2 </td>
        </tr>
    </tbody>
</table>

答案 2 :(得分:0)

  

.wrapper {border:1px solid red;溢出:隐藏;宽度:740px; }

     

.box {height:300px;宽度:400px;边框:1px纯蓝色;         位置:相对;       向左飘浮; }

     

.box2 {width:300px;身高:200px;职位:亲属;
  边框:1px纯红色;溢出:隐藏; }

     

.inside {       位置:绝对;       左:93px;       上:21px;       宽度:135px;       身高:84px;       显示:表;
       }

.inside p {
  display: table-cell;
  vertical-align: middle;
  text-align: center;
}

HTML

<div class="box">wererewrwe
</div>

 <div class="box2">
    <div class="inside">
      <p>inside</p>
  </div>
<div>

答案 3 :(得分:0)

以下解决方案适用于所有现代浏览器和IE8 +。如果你需要与IE6和IE7兼容,那么我建议使用表格。

<div class="block">
    <div class="left">Left</div>
    <div class="right" style="background: red"><p>Text</p></div>
    <div class="right" style="background: blue"><p>Text</p></div>
</div>

div.block { width: 640px; height: 480px; border: solid 2px black; padding: 4px; }
div.left { float: left; width: 320px; height: 480px; background: green; }
div.right { float: right; width: 320px; height: 240px; display: table;}
div.right p { display: table-cell; vertical-align: middle; text-align: center; }

您可以在jsfiddle上看到此示例。