php将类赋予3个div,然后跳过3
我有一张桌子,一行三个分区,然后是另一行,或者三个分区,然后是另一个,然后是另一个 但我要做的是突出每一行。每行包含3个div 因此,第一行将是.mydiv.event,然后.event将是灰色的。然后下一行将是.mydiv.odd,然后.odd将是白色 我正在使用css-tricks.com$xyz++%2中的代码使每个其他div成为不同的类 感谢所有的帮助 这是我的密码php将类赋予3个div,然后跳过3,php,Php,我有一张桌子,一行三个分区,然后是另一行,或者三个分区,然后是另一个,然后是另一个 但我要做的是突出每一行。每行包含3个div 因此,第一行将是.mydiv.event,然后.event将是灰色的。然后下一行将是.mydiv.odd,然后.odd将是白色 我正在使用css-tricks.com$xyz++%2中的代码使每个其他div成为不同的类 感谢所有的帮助 这是我的密码 $get_new_games = mysql_query("SELECT game_title,game_descript
$get_new_games = mysql_query("SELECT game_title,game_description,id from games ORDER BY added_date LIMIT 10");
while ($row = mysql_fetch_array($get_new_games)) {
$new_game_title = $row['game_title'];
$new_game_description = $row['game_description'];
$new_game_id = $row['id'];
$new_games_display .= '<div class = "game_module class-'.($xyz++%2).'"><img src = "game_thumbnails/'.$new_game_id.'/_thumb_100x100.png" class = "game_img"></div>';
}
在循环并打印行时,您将使用索引确定偶数或奇数
if(!$index%2){
echo "even";
}
else{
echo "odd";
}
%是模运算符,当其操作数被除时返回余数
编辑:
所以在你的情况下,你的最后一行是
$new_games_display.= 试试这样的东西:
$i = 0;
while ($row = mysql_fetch_array($get_new_games))
{
...
$i++;
$class = ($i%2)? "even" : "odd";
$new_games_display .= '<div class = "game_module class-' . $class .'"><img src = "game_thumbnails/'.$new_game_id.'/_thumb_100x100.png" class = "game_img"></div>';
}
<?php for ($i = 0; $rows[$i]; $i ++): ?>
<tr class="<?php echo $i % 2 ? 'odd' : 'even'; ?>">
<td>
<div />
</td>
<td>
<div />
</td>
<td>
<div />
</td>
</tr>
<?php endfor; ?>
或
将类添加到行中会更有意义,要在PHP中输出表行,请使用以下内容:
$i = 0;
while ($row = mysql_fetch_array($get_new_games))
{
...
$i++;
$class = ($i%2)? "even" : "odd";
$new_games_display .= '<div class = "game_module class-' . $class .'"><img src = "game_thumbnails/'.$new_game_id.'/_thumb_100x100.png" class = "game_img"></div>';
}
<?php for ($i = 0; $rows[$i]; $i ++): ?>
<tr class="<?php echo $i % 2 ? 'odd' : 'even'; ?>">
<td>
<div />
</td>
<td>
<div />
</td>
<td>
<div />
</td>
</tr>
<?php endfor; ?>
这将确保仅选择每行中的顶部div
更新:
从您提供的代码来看,您似乎根本没有使用一个表,也许您的意思比实际的HTML元素更宽松?。按照您的代码,您已经按照上述方式使用了模,但是您需要更改以下内容
$xyz = 0;
$get_new_games = mysql_query("SELECT game_title,game_description,id from games ORDER BY added_date LIMIT 10");
while ($row = mysql_fetch_array($get_new_games)) {
$new_game_title = $row['game_title'];
$new_game_description = $row['game_description'];
$new_game_id = $row['id'];
$new_games_display .= '<div class = "game_module class-'.($xyz++%2 ? 'odd' : 'even').'"><img src = "game_thumbnails/'.$new_game_id.'/_thumb_100x100.png" class = "game_img"></div>';
}
我添加了第一行将变量初始化为零,并将$new_games_显示行更改为$xyz++%2?“奇数“:“偶数”。这将确保每个其他div的类为奇数,其余的类为偶数
我唯一的问题是,您提供的代码与您最初的问题并不完全对应,因为有三行div,可能我遗漏了什么-请随意提供更多代码,我将能够为您提供更多帮助。您的代码只是每隔一行高亮显示一次,而不是每三行高亮显示一组。您可以使用:n子css选择器,但使用php将确保浏览器兼容性,因为该类是硬编码的。无论如何
$evenodd = false; // false indicates odd
$count = 0;
while (...) {
... //display
$count++;
if ($count == 2) {
$evenodd = !$evenodd;
$count = 0;
}
}
你能发布一些示例代码吗,比如你用来生成表行的for循环?我不确定这是否会给3一行一个类,然后给3一行一个非类,比如偶数。好吧,使用这些信息,我相信你能想出怎么做。您的代码没有每行输出3div,您也没有清楚地表达您的问题。对不起?很抱歉没有清楚地表达我的问题,你也不是完美的。你可能想添加一个注释,说明css选择器是.odd div而不是.odd。@FakeRainBrigand:很好,我已经编辑并添加了关于选择器的信息。
$evenodd = false; // false indicates odd
$count = 0;
while (...) {
... //display
$count++;
if ($count == 2) {
$evenodd = !$evenodd;
$count = 0;
}
}