ある要素が複数のセレクターに一致する場合、Unity はいくつかの要因を考慮してどのセレクターを優先するかを決定します。
Unity がどのように優先順位を決定するかは、競合するセレクターが同じスタイルシートにあるか、異なるスタイルシートにあるかによって異なります。
ある要素が同じスタイルシートの複数のセレクターに一致する場合、最も高い 詳細度 を持つセレクターが優先されます。
両方のセレクターが同じ 詳細度 を持つ場合、USS ファイルで最後に表示されるセレクターが優先されます。
ある要素が異なるスタイルシートの複数のセレクターに一致する場合、Unity は以下の順で優先順位を決定します。
セレクターの詳細度は、関連性の指標です。詳細度が高いほど、セレクターと一致する要素との関連性が高いことを意味します。
*) セレクターよりも詳細度が高いです。UI Toolkit では、要素のスタイル設定に以下の方法を使用します。
要素に複数のスタイルメソッドを適用すると、スタイルがオーバーライドされます。
たとえ、継承したスタイルがより高い特殊性を持つセレクターで定義されていても、要素を直接ターゲットにしたスタイルは、その要素が継承したスタイルよりも優先されます。
UXML ドキュメント内で要素に適用するインラインスタイルは、USS スタイルよりも優先されます。これらは、USS セレクターよりも高い詳細度を持ちます。
注意USS は、CSS でスタイル宣言のオーバーライドに使用される !important 規則をサポートしていません。
C# スクリプトで設定したスタイルは、UXML ドキュメントで設定した USS スタイルやインラインスタイルをオーバーライドします。これらは最も高い詳細度を持ちます。