Version: 2022.2
언어: 한국어
유사 클래스
USS 프로퍼티

선택자 우선 순위

요소가 둘 이상의 선택자와 매칭되는 경우 Unity는 여러 요소를 고려하여 어떤 선택자가 우선할지 결정합니다.

Unity가 우선 순위를 결정하는 방법은 충돌하는 선택자가 동일한 스타일시트에 있는지 또는 다른 스타일시트에 있는지에 따라 다릅니다.

동일한 스타일시트에 있는 선택자의 우선 순위

요소가 동일한 스타일시트의 여러 선택자와 매칭되면 특정성이 가장 높은 선택자가 우선권을 갖습니다.

두 개 선택자의 특정성이 동일하면 USS 파일에서 마지막으로 나타나는 선택자가 우선권을 갖습니다.

서로 다른 스타일시트의 선택자 우선 순위

요소가 서로 다른 스타일시트의 여러 선택자와 매칭되는 경우 Unity는 다음 요소에 따라 우선 순위를 결정합니다.

  1. 스타일시트 타입:사용자 정의 스타일시트의 선택자가 기본 Unity 스타일시트의 선택자보다 우선합니다.
  2. 선택자 특정성: 두 선택자의 스타일시트 타입이 동일하면 특정성이 가장 높은 선택자가 우선권을 갖습니다.
  3. 요소 계층 구조에서 스타일시트의 위치: 두 선택자의 특정성이 동일하면 스타일시트가 요소 계층 구조의 가장 아래에서 적용된 선택자가 우선권을 갖습니다.
  4. 스타일시트 내 선택자의 포지션:동일한 계층 구조 수준에서 두 스타일시트를 적용하면 USS 파일의 끝에서 가장 가까운 선택자가 우선권을 갖습니다.

선택자 특정성

선택자 특정성은 관련성의 척도입니다. 특정성이 높을수록 선택자가 매칭하는 요소와의 관련성이 더 높습니다.

  • Name 선택자는 Class* 선택자보다 구체적입니다.
  • Class 선택자는 Type 선택자보다 구체적입니다.
  • Type 선택자는 Universal* (*) 선택자보다 구체적입니다.
  • Universal 선택자는 특정성이 가장 낮습니다.

스타일 오버라이드

UI 툴킷에서 요소를 다음과 같이 스타일링할 수 있습니다.

요소에 여러 스타일링 메서드를 적용하면 스타일 오버라이드가 적용됩니다.

적용된 스타일이 상속된 스타일을 오버라이드

요소를 직접 대상으로 하는 스타일은 요소가 상속하는 스타일보다 더 높은 우선권을 갖습니다. 이는 상속된 스타일이 특정성이 더 높은 선택자에서 정의되었어도 마찬가지입니다.

인라인 스타일이 USS 스타일을 오버라이드

UXML 문서의 요소에 적용하는 인라인 스타일은 USS 스타일보다 우선합니다.USS 선택자보다 특정성이 높습니다.

참고:USS는 CSS에서 스타일 선언을 오버라이드하는 데 사용되는 !important 규칙을 지원하지 않습니다.

C# 스타일이 인라인 및 USS 스타일을 오버라이드

C# 스크립트에서 설정한 스타일이 UXML 문서에 설정된 USS 스타일 및 인라인 스타일을 오버라이드합니다.특정성이 가장 높습니다.

추가 리소스

유사 클래스
USS 프로퍼티