我有一个div,它没有被内部的内容压低。相反,内容只是与div重叠。我假设这是因为div标签之间有一个PHP while循环?我该如何解决这个问题?
session_start();
if (!$_SESSION["user_name"])
{
header("Location: index.php");
}
include('header.php');
$id = $_GET['id'];
if(isset($id)) {
connect_to_db();
mysql_query("DELETE FROM content WHERE id='$id'");
$deleted = 'Content Successfully Deleted.<br>';
}
echo '<div id="content">';
echo '<h2>Delete Content</h2>';
if(isset($deleted)){
echo $deleted;
}
connect_to_db();
$query="SELECT id, date, title, image FROM content ORDER BY date DESC";
$result=mysql_query($query);
while($row = mysql_fetch_array($result)){
echo '<div id="delete" align="center">';
echo '<a href="delete.php?id='.$row['id'].'"><img src="'.$row['image'].'" style="border:1px solid black; width:100px;"><br>Delete</a>';
echo '</div>';
}
echo '</div>';
答案 0 :(得分:1)
将overflow: hidden;
CSS规则放在包含重叠内容的div上。
答案 1 :(得分:0)
尝试清除while循环中的div,可能类似
while($row = mysql_fetch_array($result)){
echo '<div id="delete" align="center">';
echo '<a href="delete.php?id='.$row['id'].'"><img src="'.$row['image'].'" style="border:1px solid black; width:100px;"><br>Delete</a>';
echo '<div style="clear:both"></div></div>';
}
可能有帮助吗?
或者将<a>
元素声明为块元素?
答案 2 :(得分:0)
使用PHP循环与此问题无关,重要的是提供给您的Web浏览器的HTML代码。
尝试将clear: both;
样式添加到相关div中:
<div id="delete" align="center" style="clear: both;">
您也可以使用CSS而不是HTML属性进行对齐:
<div id="delete" style="text-align: center; clear: both;">
更新我看到你的DIV元素已经超载,而不像我原先想的那样彼此相邻。
检查您的CSS并查看是否可以找到适用于这些DIV元素的任何position: absolute
,然后将其删除。此外,您应使用class="delete"
代替id="delete"
,因为多个元素不应共享相同的id
属性。
测试时,您可以尝试:
<div id="delete" style="text-align: center; position: block;">