1

私はワードプレスのテーマを使用していますが、特定の変数の値が偶数または奇数の場合、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 だけを適用します。

どうやってやるの ?ありがとうございました :)

4

2 に答える 2

2

ベスト プラクティスは、偶数用と奇数用の 2 つのクラスを作成し、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
    }
于 2013-07-07T14:04:07.233 に答える
0

CSS はドキュメント全体に適用されます (HTML 5 ではスコープ付きスタイルシートが導入されていますが、ブラウザーのサポートは弱く、この問題の解決策としては不十分です)。

異なる要素が異なることを示し、それらを異なるクラスのメンバーにする場合は、それらに異なるスタイルシートを適用しようとしないでください。

于 2013-07-07T13:53:34.363 に答える