0

我正在尝试创建一个表格,其中包含画廊中的图像及其下方的名称。我想将每列中的图像垂直居中,并将名称对齐在底部<td>,但我似乎无法让它工作。到目前为止,这是我的代码:

table.gallery {
    width:100%;
    text-align: center;
    table-layout: fixed;
}
table.gallery td {
    padding: 10px 10px 10px 10px;
    width:33%;
    overflow: hidden;
}
table.gallery td img{
    vertical-align: middle;
}
table.gallery td span.desc {
    vertical-align: bottom;
}

和我的 PHP 代码来显示表格:

<table border="0" class="gallery"><tr>
<?php
    $curtd = -1;
    foreach ($img_arr as $item) {
        $curtd++;
        if ($curtd >= 3){
            echo '</tr><tr>';
            $curtd = 0;
        }
        echo '<td><center><a href="'.$item['link'].'" target="_blank"><img src="'.$item['thumb'].'" /></a></center>
                <span class="desc"><a href="'.$item['link'].'" target="_blank">'.$item['title'].'</a></span></td>';
    }
?>
</tr></table>

我的图像看起来垂直居中没有问题,但名称仍直接显示在图像下方,而不是单元格底部。我怎样才能解决这个问题?

编辑:这是由 PHP 代码生成的 HTML(删除 URL 和东西只是为了节省空间):

<table border="0" class="gallery"><tr>
<td>
    <center><a href="[link]" target="_blank"><img src="[URL]" /></a></center>
    <span class="desc"><a href="[link]" target="_blank">[name]</a></span>
</td>
<td>
    <center><a href="[link]" target="_blank"><img src="[URL]" /></a></center>
    <span class="desc"><a href="[link]" target="_blank">[name]</a></span>
</td>
<td>
    <center><a href="[link]" target="_blank"><img src="[URL]" /></a></center>
    <span class="desc"><a href="[link]" target="_blank">[name]</a></span>
</td>
</tr><tr>
<td>
    <center><a href="[link]" target="_blank"><img src="[URL]" /></a></center>
    <span class="desc"><a href="[link]" target="_blank">[name]</a></span>
</td>
<td>
    <center><a href="[link]" target="_blank"><img src="[URL]" /></a></center>
    <span class="desc"><a href="[link]" target="_blank">[name]</a></span>
</td>
<td>
    <center><a href="[link]" target="_blank"><img src="[URL]" /></a></center>
    <span class="desc"><a href="[link]" target="_blank">[name]</a></span>
</td>
</tr></table>
4

1 回答 1

0

请试试这个:

使用两个 tr 标签并在第一个图像 - ,下一个 - 名称 -

于 2012-10-05T19:33:42.270 回答