2014-03-05 94 views
0

如何對齊div擱置另一個div並將它集中在一個表中?align div div to the center of table CSS - PHP

echo '<table border="0" cellspacing="1" cellpadding="7" width="100%">'; 
    echo '<tr bgcolor="'.$config['site']['purple'].'">'; 
     echo '<td align="center">'; 
      foreach($image as $img){ 
       echo '<div style="width:24%;height:130px;position:relative;float:left;margin:2px auto;background-image:url('.$img['location'].');background-size:100%;"></div>'; 
      } 
     echo '</td>'; 
    echo '</tr>'; 
echo '</table>'; 

我得到的div一個拋開其他的完美,但它仍然在<td>的左側,而不是在中心。

如何解決?

+0

快速旁註:不要把CSS標籤內,用一個單獨的CSS樣式表,並給div的一類 – GroundZero

+0

謝謝回答,讓我試試這個。 – user3050478

+0

對於居中:'auto'的左右邊距將水平對齊您的對象。您需要爲對象設置寬度,就像您在示例中所做的那樣。你可以使用一個簡寫的CSS表示法:'margin:top/bottom right/left;' – GroundZero

回答

1

檢查此JSfiddle。你需要比我想象的那樣格式化:對

http://jsfiddle.net/5c2Vj/

注意:我手動添加了一些div的用於測試目的。

HTML

<table border="0" cellspacing="1" cellpadding="7" width="100%"> 
    <tr bgcolor="purple"> 
     <td align="center"> 
      <div class="image" style="background-image: url(https://stackoverflow.com/content/stackoverflow/img/apple-touch-icon.png)"></div> 
      <div class="image" style="background-image: url(https://stackoverflow.com/content/stackoverflow/img/apple-touch-icon.png)"></div> 
      <div class="image" style="background-image: url(https://stackoverflow.com/content/stackoverflow/img/apple-touch-icon.png)"></div> 
      <div class="image" style="background-image: url(https://stackoverflow.com/content/stackoverflow/img/apple-touch-icon.png)"></div> 
      <div class="image" style="background-image: url(https://stackoverflow.com/content/stackoverflow/img/apple-touch-icon.png)"></div> 
     </td> 
    </tr> 
</table> 

CSS

div.image { 
    display: inline-block; 
    width: 24%; 
    height:130px; 
    border: 1px solid black; /* For visual reference */ 
} 

得益於align="center"的TR-元素,div的居中。
當您清理代碼(從樣式中分離HTML)時,您也可以在該行上使用CSS類。


編輯:

小testrun我做了(不CSS類)。

$config['site']['purple'] = "purple"; 
$image = array(
    'StackOverflow' => 'https://stackoverflow.com/content/stackoverflow/img/apple-touch-icon.png', 
    'W3C' => 'http://www.propra.nl/img/w3c.png', 
    'CSS' => 'http://a.dryicons.com/images/icon_sets/coquette_part_5_icons_set/png/128x128/css_file.png', 
    'HTML' => 'http://a.dryicons.com/images/icon_sets/coquette_part_5_icons_set/png/128x128/html_file.png', 
    'LifeIsPain' => 'http://oldpunks.com/1iconlifeispain.gif' 
); 

echo '<table border="0" cellspacing="1" cellpadding="7" width="100%"> 
    <tr bgcolor="'.$config['site']['purple'].'"> 
     <td align="center">'; 
      foreach($image as $name => $location){ 
       echo '<div style="display: inline-block; width: 24%; height:130px; border: 1px solid black; background-image:url('.$location.');background-size:100%;"></div>'; 
      } 
     echo '</td> 
    </tr> 
</table>'; 
+1

感謝@GroundZero,現在我把divs放在一旁, td元素的中心完美! – user3050478

+1

@ user3050478您也可以查看:[PHP沙盒](http://sandbox.onlinephpfunctions.com/code/c99b0f02777554232d5acea31faa22c53f7f19c0)。您可以在[JS-fiddle](http://jsfiddle.net/GVBwv/1/)中使用結果來獲得可視結果。 – GroundZero

+0

謝謝!我正在尋找一個帶有這個功能的程序,但是在你的代碼中我看到了JS小提琴,現在我複製了它。 – user3050478