如果在PHP中有条件,则动态更改css

时间:2013-07-07 13:50:53

标签: php css wordpress dynamic

我正在使用wordpress主题,我确实希望在某个变量的值为偶数或奇数时使用php更改2个块的css。

这是我的代码:

<?php 
            $i = 0;
            while ( have_posts() ) {

                // Override
                if(($i % 2) == 1) { ?>

                    <style type="text/css">
                        .grid-box-img {
                            width: 54%;
                            float: left;
                        }

                        .entry-head {
                            width: 56%;
                            background-color: #fff;
                            position: absolute;
                            z-index: 10;
                            margin-left: 43%;
                            margin-top: 27%;
                        }
                    </style>
                    <?php 
                }
                else { ?>
                    <style type="text/css">
                        .grid-box-img {
                            width: 54%;
                            float: right;
                        }

                        .entry-head {
                            width: 56%;
                            background-color: #fff;
                            position: absolute;
                            z-index: 10;
                            margin-top: 27%;
                        }
                    </style>
                    <?php
                } 
                $i++;
                the_post(); 
            } ?>

但是,不幸的是它不起作用......它仅适用于最后一个值的CSS。

我该怎么做?谢谢:))

2 个答案:

答案 0 :(得分:0)

CSS适用于整个文档(HTML 5引入了作用域样式表,但浏览器支持很弱,对于这个问题它们是一个糟糕的解决方案。)

如果你想表明不同的元素不同,那么让它们成为不同类的成员,不要试图对它们应用不同的样式表。

答案 1 :(得分:0)

最佳做法是将两个类一个用于偶数,另一个用于奇数,并在需要的地方放置一个if条件。

<a href="/" class="<?php if(($i % 2) == 1){ echo 'even';} else { echo 'odd';} ?> ">Link </a>

在你的CSS中:

.even{
//your styling for even class
}
.odd{
    //your styling for odd class
    }