0

この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;
}

彼らがそうしない理由は特異性であると私は理解していますが、私はそれを私が望むように機能させる方法を理解することができません。最初のルールの重要度を最も低くし、2番目のルールで最初のルールをオーバーライドし、最後のルールですべてをオーバーライドするにはどうすればよいですか?

ありがとう

4

3 に答える 3

0

3 つすべての定義を変更する制御があると仮定します。

.highlight.highlight {
    /*things*/
}

は、プレーンな.highlight.

于 2013-02-19T07:24:21.937 に答える
0

2 つのルールの重みが同じ場合は、最後に指定されたルールが優先されます。. 前の例が宣言されていて、そのうちの 1 つが !important に設定されている場合、!important を持つものが最も優先度が高くなります!

于 2013-02-19T07:14:13.227 に答える
0

2 番目と最後のルールの両方に追加!importantしただけです。そうすれば、2 番目と最後が最初のものをオーバーライドしますが、最後のものは 2 番目のものをオーバーライドするだけです。

于 2013-02-19T07:36:42.803 に答える