Php 使用奇偶类交替注释颜色

Php 使用奇偶类交替注释颜色,php,css,wordpress,comments,Php,Css,Wordpress,Comments,我早些时候问过这个问题,但没有得到回答( 我有新的WordPress 2.7评论循环,我知道你可以简单地将.odd和.偶数添加到你的CSS中,以获得交替的评论颜色,我已经做到了: .odd { background: #ccc; color: #000; } .even { background: #bbb; color: #000; } 但是,我有两种不同的背景-一种是浅背景,一种是深背景,用户可以从选项面板中选择。因此,我需要两种不同版本的奇数和偶数类,以便我可以为每个类提供不同的颜色,因

我早些时候问过这个问题,但没有得到回答(

我有新的WordPress 2.7评论循环,我知道你可以简单地将.odd和.偶数添加到你的CSS中,以获得交替的评论颜色,我已经做到了:

.odd { background: #ccc; color: #000; }
.even { background: #bbb; color: #000; }
但是,我有两种不同的背景-一种是浅背景,一种是深背景,用户可以从选项面板中选择。因此,我需要两种不同版本的奇数和偶数类,以便我可以为每个类提供不同的颜色,因为上面的背景色在浅背景下看起来不错,但在深背景下效果不太好

但是在2.7注释循环中,奇数和偶数类实际上并不存在于代码中。如果它们存在,我会这样做:

$background = get_option('mytheme_background');
if ($background== "option1") { echo '<div class="odd-dark">'; } 
if ($background== "option1") { echo '<div class="even-dark">'; }
if ($background== "option2") { echo '<div class="odd-light">'; } 
if ($background== "option2") { echo '<div class="even-light">'; }
$background=get_选项(“mytheme_background”);
如果($background==“option1”){echo';}
如果($background==“option1”){echo';}
如果($background==“option2”){echo';}
如果($background==“option2”){echo';}
因此,如果代码中没有.odd和.偶数,那么如何在CSS中使用两个不同的.odd和.偶数版本呢?

PHP

$background = get_option('mytheme_background');
// no more - between class names to use specializations of odd/even in CSS
if ($background== "option1") { echo '<div class="odd dark">'; } 
if ($background== "option1") { echo '<div class="even dark">'; }
if ($background== "option2") { echo '<div class="odd light">'; } 
if ($background== "option2") { echo '<div class="even light">'; }
/* now specialize 2 variants for each type odd/even * dark/light */
.odd.light { background: #ccc; color: #000; }
.even.light { background: #bbb; color: #000; }
.odd.dark { background: #ccc; color: #000; }
.even.dark { background: #bbb; color: #000; }

试试这个

您可以结合使用CSS类:

echo '<div class="even option1">';
echo '<div class="even option2">';
echo '<div class="odd option1">';
echo '<div class="odd option2">';
或者,您可以将CSS类
option1
应用于
正文
元素。如果您必须用
class=“option1…”标记许多元素,这一点尤其有用:


依此类推。请注意,
选项1
之间有一个空格。即使是

也要在body元素中添加一个类:
。您只需这样做一次,就可以轻松地控制颜色方案。这里有一个关于CSS的提示。您可以将多个类附加到同一个元素。只需使用空格分隔的列表。例如,您可以定义奇数、偶数、明暗类,然后使用class=“奇数灯光”,class=“偶数暗”等等。这可以使CSS更加简洁和灵活,并适用于所有当前浏览器。此外,最新的浏览器都支持第n个child对奇数行和偶数行进行样式设置,而无需使用类显式标记。我应该将php代码放在comments.php的何处?我尝试将其放在“if(have_comments()):”下面但是它不起作用,所以我认为这是一个错误的代码位置。@EmilyHarris我以为你只是需要它正常工作……就像在一个例子中,它工作错了,然后又变对了。这很复杂。你需要学习一下WordPress。对于一个扁平的注释结构来说很容易,但是如果你把注释线程化,那就不同了。缺点我想去wordpress.stackexchange.com,在你的comments.php中粘贴一些代码,让他们看一下。我觉得这是一个初学者,即使我告诉过你怎么做,我也不确定你会得到它……没有主题的注释代码,这是非常困难的。@Claudrian他用黑色表示;-)
.option1.even { background-color: #bbb; color: black; }
.option1.odd { background-color: #ccc; color: black; }
.option2.even { background-color: #222; color: snow; }
.option2.odd { background-color: #444; color: white; }
<body class="option1">
    <div class="even">…</div>
</body>
body.option1 .even { /* … */ }