如何将发布到我网站的评论格式化为彼此分开?

时间:2010-06-24 17:45:34

标签: php css comments

我正在处理显示评论的博客的一些代码。这是从数据库输出注释的代码:

$i = 0;
while ($i < $num) {
$name = mysql_result($result,$num - $i,"name");
$dream = mysql_result($result,$num - $i,"dream");


echo "$name<br>$dream<br>";

$i++;
}

我目前正在使用CSS将样式应用于这个php所在的整个div。这让我可以格式化所有发布的评论,但我想统一格式化每个评论。例如,我可以使用CSS在所有注释周围添加边框,但我想要的是每个注释周围的相同边框以分隔注释。有任何想法吗?感谢帮助。

4 个答案:

答案 0 :(得分:3)

将每条评论放入div

echo "<div class='comment'>$name<br>$dream</div>";

或者,语义更好,将所有内容都包装到<ul>中,并使每条评论都为<li>

echo "<li>$name<br>$dream</li>";

并按如下方式处理每个li

ul.comments li { border: ..... }

答案 1 :(得分:1)

echo '<div class="comment">' . "$name<br/>$dream<br/></div>";

然后在你的CSS中你可以使用

.comment {
    /* CSS rules for comments */
}

我喜欢Pekka的想法:

<ul class="comments">
    <?php
    $i = 0;
    while ($i < $num) 
    {
        $name = mysql_result($result,$num - $i,"name");
        $dream = mysql_result($result,$num - $i,"dream");
        ?>
        <li>
            <ul>
                <li><?php echo $name; ?></li>
                <li><?php echo $dream; ?></li>
            </ul>
        </li>
        <?php
        ++$i;
    }
    ?>
</ul>

然后在你的CSS中(你可以为每个名字,梦想等添加更多的课程)

ul.comments {
    /* CSS rulse for a nice background etc for the whole group of comments */
}
ul.comments ul {
    /* CSS rules for each comment */
}
ul.comments ul li {
    /* CSS rules for each subsection of a comment
       You could make separate classes for these too */
}

答案 2 :(得分:1)

只需使用div和类。

例如,输出类似:

<div class="comment">
  <div class="author">John</div>
  <div class="commentBody">This is a comment!</div>
</div>

通过这种方式,您可以单独设置整个注释(类comment),作者名称(类author)和注释本身(类commentBody

您也可以使用<li>代替<div> s。

答案 3 :(得分:1)

作为一个建议,你可以斑马条纹评论,而不是在每个评论周围放置边框。您的PHP需要使用模数(2)添加条件,以添加偶数/奇数的css类。你的CSS看起来像这样:

ul.comments li.even {
    background-color:white;
}

ul.comments li.odd {
    background-color:lightBlue;
}