0

使用新的 WordPress 2.7 评论循环,我知道您可以简单地将 .odd 和 .even 添加到您的 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">'; }

因此,由于 .odd 和 .even 实际上并不存在于代码中,我如何才能在 CSS 中拥有两个不同的 .odd 和 .even 版本?

4

1 回答 1

0

一个迟来的回应,但对于其他任何偶然发现它的人......

解决这个问题的一个更简单的方法是反过来看。无需为每个必需的 html 元素添加主题选项名称,只需在包含元素中添加单个类名称即可。

例如,在给定的示例中,您可以将“dark”添加到文档中的类列表中body- 然后与“dark theme”相关的所有样式属性都将声明如下:

body.dark div.odd  { ... }
body.dark div.even { ... }

这样你:

  • 减少标记中的膨胀
  • 让你的 CSS 逻辑更具可读性
  • 确保一致的命名约定
于 2013-03-16T17:36:10.703 回答