2012-12-10 82 views
0

我有一個PHP頁面多個div:HTML DIV定位

<?php 
if ($row['a']!="") { echo "<div id=a></div>";} 
if ($row['b']!="") { echo "<div id=b></div>";} 
if ($row['c']!="") { echo "<div id=c></div>";} 
if ($row['d']!="") { echo "<div id=d></div>";} 
if ($row['e']!="") { echo "<div id=e></div>";} 
?> 

我應該怎樣稱呼自己的定位,這樣,如果DIV ID = 2沒有那麼顯示的DIV ID = 3將取代其位置,所以div 1和3之間不會有空格。與其他DIV相同。我應該使用哪種定位類型:相對?絕對?

+0

我不認爲我們有完整的故事 - 您應用了哪些CSS?你在做什麼佈局?如果PHP不回顯div,它不會被渲染,並且不會有空間。 – Darbio

+0

@Marcopus好吧,如果他使用絕對定位或固定定位,那麼會有空間,因爲它不在乎是否在之間呈現了某種東西 – Kedor

回答

0

你可以走相對定位。一個簡單的例子如下所示。如果你更喜歡class屬性來設計樣式,那麼它會很好,否則你可以用每個div的ID來給每個div分別設置樣式。通過下面的代碼。現在嘗試刪除中間的一個或任何一個或兩個回聲語句,您可以發現不可用的div空間被替換。還有很多其他的方法。

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml"> 
<head> 
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 
<title>Untitled Document</title> 
<style> 
    .adiv { 
     position:relative; 
     width:100px; 
     height:100px; 
     background:#ff0000; 
     float:left; 
     margin:10px; 
    } 
</style> 
</head> 

<body> 
<?php 
    echo "<div id=\"one\" class=\"adiv\"> </div>"; 
    echo "<div id=\"two\" class=\"adiv\"> </div>"; 
    echo "<div id=\"three\" class=\"adiv\"> </div>"; 
    echo "<div id=\"four\" class=\"adiv\"> </div>"; 
    echo "<div id=\"five\" class=\"adiv\"> </div>"; 
?> 
</body> 
</html> 
+0

這完全是我想要的。萬分感謝!〜; D – Newbie