在基于div的表中对齐不均匀的行

时间:2012-04-27 18:51:57

标签: html css image

我有一个用div构建的表,它使用图像作为单元格数据。如果我有一个丢失的图像,我想基本上将行中的其他图像居中:

所有图片:

xxxxx
xxxxx

缺少图像(第二行中有2个):

xxxxx
 xxx

目前,我只能将结果左对齐:

xxxxx
xxx

的CSS:

.table
{
    margin-top:5px;
    margin-left:15px;
    margin-right:15px;
    display:  table;
    width:auto;
    border-spacing:0px;
}

.row
{
   display:table-row;
   width:auto;
   margin-left:auto;
   margin-right:auto;
}

.cell
{
    float:left;
    display:table-column;
    width:auto;
}

我尝试了左/右行的自动边距,但没有骰子。有什么建议吗?

修改

  <div class="table">
         <div class="row">
            #if ($has1)
                <div class="cell"><a href="#1"><img src="1.jpg" width="138"/></a></div>
            #end
            #if ($has2)
                <div class="cell"><a href="2"><img src="2.jpg" width="138"/></a></div>
            #end
            #if ($has3)
                <div class="cell"><a href="#3"><img src="3.jpg" width="138"/></a></div>
            #end

        </div>
         <div class="row">
            #if ($has4)
                <div class="cell"><a href="#4"><img src="4.jpg" width="138"/></a></div>
            #end
            #if ($has5)
                <div class="cell"><a href="5"><img src="5.jpg" width="138"/></a></div>
            #end
            #if ($has6)
                <div class="cell"><a href="#6"><img src="6.jpg" width="138"/></a></div>
            #end

        </div>
  </div>

2 个答案:

答案 0 :(得分:1)

好的,试试这个:

.table
{
    margin-top:5px;
    margin-left:15px;
    margin-right:15px;
    display:  table;
    width:auto;
    border-spacing:0px;
}

.row
{
   display:table-row;
   width:auto;
   margin-left:auto;
   margin-right:auto;
   text-align:center;
}

.cell
{
    /*display:table-column;*/
    display:inline-block;
    width:auto;
}​

实施例: http://jsfiddle.net/JARQs/

答案 1 :(得分:0)

试试这个:

.row
{
   display:table;
   width:auto;
   margin-left:auto;
   margin-right:auto;
   text-align:center;
}

您还可以使用带有display:table css和mantain original .row css class

的容器