显示图像背景1如果div在左侧,如果图像在右侧则显示背景2?

时间:2013-04-25 11:25:10

标签: php css

我想知道是否有人可以提供帮助,不完全确定这是可能的,但我有一个名为<div class="scroll">

的div容器
div div内部是一个sql查询,它回应用户从数据库发布的注释。 div滚动设置为600px的宽度,因此注释将从左到右排列在此div中,每行有两个注释框,每个注释框的每个注释框不超过300px,以便彼此相邻。

评论的列表如下:

<div class="scroll">

comment 1 | comment 2
comment 3 | comment 4
comment 5 | comment 6
</div>

评论包含在div“comment_box”

现在我所做的是将背景图像放到div“comment_box”这个图像是一个指向左边的指针箭头,位于div的左侧,但我也想要一个右侧对齐的注释框的背景图像,因此在这种情况下,注释2,4和6将具有不同的背景图像/指向div右侧右侧的箭头。

这可能吗?

感谢

comment box{

.wall_post_case_branch {
    background-image:url(../img/effects/arrow_left.png);
    background-repeat:no-repeat;
    background-position: center;
    height:90px;
    width:290px;
    position:relative;
        border:#ccc 1px solid;


}

mysql:

<?php
    if(mysql_num_rows($wallposts_set) > 0) {
        while ($posts = mysql_fetch_array($wallposts_set)) {
            $age = days_from_date($posts['date_added']);
            ?>
            <div class="comment_box">
             <?php echo "{$posts['content']}"; ?>
             </div>

3 个答案:

答案 0 :(得分:1)

您可以按照以下方式执行此操作。

<?php
    $i = 0;
    while ($posts = mysql_fetch_array($wallposts_set))
    {
        $class = ' odd';
        if ($i++ % 2 == 0)
        {
            $class = ' even';
        }
        echo '<div class="comment_box'.$class.'">';
    }
?>

并在css

.odd { background-image:imageone.jpg; }
.even{ background-image:imagesecond.jpg; }

答案 1 :(得分:0)

我会在while循环之前创建变量$i = 0;

它将使用它来定义它应该使用的背景颜色。

然后在while循环中我会使用这段代码:

while ($posts = mysql_fetch_array($wallposts_set)) {
    $i++;
    $age = days_from_date($posts['date_added']);
    echo "<div class=\"comment_box_$i\">
    $posts['content']}
    </div>";
    if ($i == 2)
        $i = 0;
}

然后这些框会有2个不同的类,左边的一个会有class="comment_box_1",而右边的框会有class="comment_box_2"

然后您可以为差异框创建CSS。

享受

答案 2 :(得分:0)

您也可以使用CSS执行此操作:

:nth-child(even)
:nth-child(odd)

小提琴用背景色代替图像。

http://jsfiddle.net/ingvi/CFMcA/

希望有所帮助