0

内部のコンテンツによって押し下げられていない 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>';
4

3 に答える 3

1

overflow: hidden;重複するコンテンツがある div に CSS ルールを配置します。

于 2012-04-20T13:06:42.737 に答える
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>または要素をブロック要素として宣言しますか?

于 2012-04-20T11:59:26.713 に答える
0

PHP ループの使用はこの問題とは関係ありません。重要なのは、Web ブラウザーに提供される HTML コードです。

clear: both;問題の div にスタイルを追加してみてください。

<div id="delete" align="center" style="clear: both;">

HTML 属性の代わりに CSS を使用して配置することもできます。

<div id="delete" style="text-align: center; clear: both;">

更新あなたのDIV要素が飛び越えており、当初考えていたように隣同士に浮かんでいないことがわかりました。

position: absoluteCSS をチェックして、これらの DIV 要素に該当するものがあるかどうかを確認し、削除してください。さらに、複数の要素が同じ属性を共有してはならないため、class="delete"代わりにを使用する必要があります。id="delete"id

テストのために、次を試すことができます。

<div id="delete" style="text-align: center; position: block;">
于 2012-04-20T12:02:02.883 に答える