Я делаю обновление старого клиентского WP-сайта (отсюда сетка 960.gs) и у меня есть цикл для вывода потерянных новостей.
То, чего я пытаюсь достичь (с помощью оператора if), это установить .alpha
класс для 1-го пункта, а также номера 4, 7, 10, 13 … и т. д. Я также пытаюсь подать заявку .omega
до 3, 6, 9, 12 … и т. д.
Вот мое утверждение if с операторами модулей:
<?php if ($count % 1 == 0) : ?>alpha <?php endif; ?>grid_4<?php if ($count % 3 == 0) : ?> omega<?php endif; ?>
Но это дает мне следующее:
<div class="feed">
<div class="alpha grid_4">
<p>In condimentum facilisis porta. Sed nec diam eu diam mattis viverra. Nulla fringilla, orci ac euismod semper, magna diam porttitor mauris, quis sollicitudin.</p>
</div>
<div class="alpha grid_4">
<p>Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Proin vel ante a orci tempus eleifend ut et magna. Lorem ipsum dolor sit amet, consectetur adipiscing […]</p>
</div>
<div class="alpha grid_4 omega">
<p>Suspendisse dictum feugiat nisl ut dapibus. Mauris iaculis porttitor posuere. Praesent id metus massa, ut blandit odio. Proin quis tortor orci. Etiam at risus et justo dignissim congue. Donec congue […]</p>
</div>
<div class="alpha grid_4">
<p>Duis aliquet egestas purus in blandit. Curabitur vulputate, ligula lacinia scelerisque tempor, lacus lacus ornare ante, ac egestas est urna sit amet arcu. Class aptent taciti sociosqu ad litora torquent […]</p>
</div>
<div class="alpha grid_4">
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vivamus luctus urna sed urna ultricies ac tempor dui sagittis. In condimentum facilisis porta. Sed nec diam eu diam mattis viverra. Nulla […]</p>
</div>
<div class="alpha grid_4 omega">
<p>Curabitur vulputate, ligula lacinia scelerisque tempor, lacus lacus ornare ante, ac egestas est urna sit amet arcu. Class aptent taciti sociosqu ad litora torquent per conubia. Curab itur vulputate, ligula […]</p>
</div>
<div class="alpha grid_4">
<p>Mauris iaculis porttitor posuere. Praesent id metus massa, ut blandit odio. Proin quis tortor orci. Etiam at risus et justo dignissim congue. Donec congue lacinia dui, a porttitor lectus condimentum […]</p>
</div>
</div>
Как вы видете, .omega
кажется, работает правильно, но .alpha
применяется к каждому элементу.
Вы делите на 1, поэтому альфа применяется везде.
Измените выражение if для alpha следующим образом:
<?php if ($count % 3 == 1) : ?>alpha <?php endif; ?>grid_4<?php if ($count % 3 == 0) : ?> omega<?php endif; ?>
Решение может быть:
<?php if ($count == 0 ) : ?>alpha <?php endif; ?>grid_4<?php if ($count % 3 == 0) : ?> omega<?php endif; ?>
Короче говоря, операция модуля (%) с операндом 1 вернет 0 для любого числа, поскольку любое целое число может быть разделено на 1 (в результате получается само число, поэтому модуль равен нулю).