有没有方法可以为类组合定义样式?例如,我想我的HTML看起来像这样,但输出到适当的色彩渲染:为类组合定义样式
<span class="red">Red Text</span><br/>
<span class="green">Green Text</span><br/>
<span class="red green">Yellow Text</span><br/>
编辑:上面似乎是混乱的人时,这只是一个例子;所以这里是另外一个例子:
<style>
.style1 { background-color: #fff; }
.style2 { background-color: #eee; }
.style1.highlight { color: red; }
.style2.highlight { color: blue; }
</style>
<ul>
<li class="action style1">Do Action 1</li>
<li class="action style2">Do Action 2</li>
<li class="action style1 highlight">Do Action 1</li>
<li class="action style2 highlight">Do Action 2</li>
</ul>
<script language="javascript" type="text/javascript">
$("li.action").bind("click", function(e) {
e.preventDefault();
// Do some stuff
$(this).addClass("highlight");
$(this).unbind("click");
});
</script>
同样,这仅仅是一个例子,所以不要在交替的元件或类似的东西挂了。我试图避免的是必须复制每个不同styleN的绑定函数,或者必须编写一个检查每个styleN类的elseif结构。不幸的是,这个代码在IE 6或7中不起作用 - .style1和.style2元素的高亮文本最终变为蓝色。
嗯......在IE7中似乎也没有工作(绿色跨度是黄色的),这是一种交易断路器。 – Soldarnal 2008-12-11 19:05:18
IE将此解析为OR不是AND - 即它将匹配具有“绿色”类的任何元素。你可以用正确的设计来解决这个问题,但并非总是如此。如果你能给我们一个特定的目标,我们可能能够解决这个问题。 – annakata 2008-12-11 20:53:49