When an element matches more than one selector, Unity considers several factors to determine which selector takes precedence.
How Unity determines precedence depends on whether the conflicting selectors are in the same style sheet or in different style sheets.
When an element matches multiple selectors from the same style sheet, the selector with the highest specificity takes precedence.
If both selectors have the same specificity, the selector that appears last in the USS file takes precedence.
When an element matches multiple selectors in different style sheets, Unity determines precedence according to the following factors in this order:
Selector specificity is a measure of relevance. The higher the specificity, the more relevant the selector is to the elements it matches.
*
) selector.You can style an element in UI(User Interface) Allows a user to interact with your application. Unity currently supports three UI systems. More info
See in Glossary Toolkit by the following:
If you apply multiple styling methods to an element, it will undergo style overrides.
Styles that target an element directly take precedence over styles that the element inherits, even if the inherited styles are defined in a selector with higher specificity.
Inline styles that you apply to elements in a UXML document take precedence over USS styles. They have a higher specificity than USS selectors.
Note: USS doesn’t support the !important
rule used to override style declarations in CSS.
Styles that you set in a C# script override USS styles and inline styles set in a UXML document. They have the highest specificity.