我希望这个CSS的优先顺序与它们的顺序完全相同:
/*Highlight every second row in a .styledtable without .no-odd-row-higlight*/
.styledtable:not(.no-odd-row-highlight) tr:nth-child(odd) td{
background:#eeeeee;
}
/*Orange highlight, normally used by PHP*/
.highlight-orange, .highlight-tds-orange td{
background:#ff4000;
}
/*Yellow highlight, normally used by JS*/
.highlight, .highlight-tds td{
background:#f7fe2e;
}
我理解他们没有这样做的原因是特异性,但我无法弄清楚如何让它按照我的意愿运作。如何使第一条规则最不重要,第二条规则覆盖第一条规则,最后一条规则覆盖所有规则?
由于
答案 0 :(得分:0)
请记住这一点,当两个规则具有相同的权重时,指定的最后一条规则获胜! 。 如果前面的例子被声明并且其中一个被设置为!important,那么具有!important的那个将具有最高优先级!
答案 1 :(得分:0)
假设您可以控制更改所有三个的定义:
.highlight.highlight {
/*things*/
}
严格比只有一个类的任何规则更具体,包括普通.highlight
。
答案 2 :(得分:0)
我刚刚将!important
添加到两者第二个和最后一个规则。这样第二个和最后一个覆盖第一个,但最后一个覆盖第二个,因为它在它之后。