2015-05-27 78 views
1

我正在使用表格处理3个元素的自动尺寸。 我喜欢中间获得所有剩余的空间 - 第一个和最后一个单元格。 好吧,这可以使用table/table-cell-table-table-cell。表格单元格/表格/表格单元格。不能居中垂直中间元素

但我无法为中央单元设置垂直对齐?


          
  
<div style="display: table; width: 163px; height: 80px;"> 
 

 
\t <div style="display: table-cell; vertical-align: middle; width: 1px;">c1</div> 
 

 
\t <div style="display: table;> 
 
\t <div style="display: table-cell; vertical-align: middle; width: 100%;"> 
 
\t <div>c2</div> 
 
\t </div> 
 
\t </div> 
 

 
\t <div style="display: table-cell; vertical-align: middle; width: 1px;">c3<div> 
 

 
</div>

我已经尝试了很多的风格与“c2”细胞及其父母都没有成功。 我是否要给垂直尺寸的中央'table'列?

我想这种方法的解决方案(表元素的风格)

任何帮助,将不胜感激。

回答

0

使中央细胞display: table-cellvertical-align: middle

<div style="display: table; width: 163px; height: 80px; background: coral;"> 
 
    <div style="display: table-cell; vertical-align: middle; width: 1px; background: #DDD;">c1</div> 
 
    <div style="display: table-cell; vertical-align: middle;"> 
 
     <div> 
 
      <div>c2</div> 
 
     </div> 
 
    </div> 
 
    <div style="display: table-cell; vertical-align: middle; width: 1px; background: #DDD;"> 
 
     c3 
 
    </div> 
 
</div>

+0

因此,关键是使用表单元格,但没有定义宽度?太简单 ?我花了很多时间使用表格容器....这种方法给出了垂直维度的相同结果(即表格行方法)? – civiltomain

+0

诀窍是使用'table-cell',因为你不应该在'table-cell'中使用'display:table'。 – dfsq

+0

请你可以查看这个问题“自动布局2列/ 3垂直divs错误行为”我今天问。对不起......和特克斯 – civiltomain