0

我在一个 php 页面中有多个 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 相同的情况. 我应该使用哪种定位类型:相对?绝对?

4

1 回答 1

0

您可以使用相对定位。一个简单的例子如下所示。如果您可以更喜欢 class 属性来设置样式,那会很好,否则您可以为每个带有 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>
于 2012-12-10T13:09:44.120 回答