style
에 작성하여 요소에 대한 스타일 값을 설정할 수 있습니다. 하지만 요소의 최종 계산된 스타일을 얻으려면 resolvedStyle
에서 읽어야 합니다.
C# 스크립트에서는 시각적 요소의 ‘style’ 프로퍼티에 직접 스타일을 설정할 수 있습니다.예를 들어 다음 코드는 버튼의 배경색을 빨간색으로 설정합니다.
button.style.backgroundColor = Color.red
시각적 요소에 USS(Unity 스타일 시트)를 추가할 수도 있습니다. Unity는 USS 파일을 C# 스크립트에서 StyleSheet
오브젝트로 표현합니다.
시각적 요소에 스타일시트를 추가하려면 다음 단계를 따르십시오.
AssetDatabase.Load()
또는 Resources.Load()
와 같은 표준 Unity API를 사용하여 StyleSheet
오브젝트를 로드합니다.styleSheets
프로퍼티를 사용하여 StyleSheet
오브젝트를 추가합니다.예를 들어, 로컬 변수 ’styleSheet’에 스타일시트가 있고 로컬 변수 ’element’에 요소가 있다고 가정하면 다음 예제에서는 스타일시트를 요소에 추가합니다.
element.styleSheets.Add(styleSheet);
참고:스타일 규칙은 시각적 요소와 그 모든 자손에 적용되지만 요소의 부모 또는 형제에는 적용되지 않습니다.USS 파일을 변경하면 이 스타일시트를 사용하는 UI가 자동으로 새로 고침됩니다.
요소의 스타일 값은 적용된 여러 클래스, 조상으로부터의 상속, UXML 또는 C# 코드의 인라인 스타일 등 다양한 소스에서 계산됩니다. 이러한 값은 프레임마다 변경될 수 있습니다. style
은 요소에 대한 인라인 스타일만 보유하며 다른 소스는 반영하지 않습니다. resolvedStyle
은 현재 프레임의 모든 소스를 고려하여 최종 계산된 값을 갖습니다.
예를 들어 인라인 스타일을 사용하여 요소의 너비를 설정하는 경우, style
과 resolvedStyle
은 모두 동일한 값으로 시작합니다. 요소가 계층 구조에 추가되면 레이아웃이 업데이트될 때까지 resolvedStyle.width
는 NaN
이 될 수 있습니다. 클래스에서 너비를 백분율로 정의하면 계산된 너비는 border-width
및 padding
과 같은 부모 프로퍼티에 의존합니다. style.width
는 값을 변경할 수 있는 전환과 같이 상대적인 값을 제공할 수 있지만 resolvedStyle.width
는 실제 렌더링된 너비를 제공합니다.
다음 예시는 요소의 최종 계산된 너비를 가져오는 방법을 보여 줍니다.
float width = element.resolvedStyle.width;
Did you find this page useful? Please give it a rating:
Thanks for rating this page!
What kind of problem would you like to report?
Thanks for letting us know! This page has been marked for review based on your feedback.
If you have time, you can provide more information to help us fix the problem faster.
Provide more information
You've told us this page needs code samples. If you'd like to help us further, you could provide a code sample, or tell us about what kind of code sample you'd like to see:
You've told us there are code samples on this page which don't work. If you know how to fix it, or have something better we could use instead, please let us know:
You've told us there is information missing from this page. Please tell us more about what's missing:
You've told us there is incorrect information on this page. If you know what we should change to make it correct, please tell us:
You've told us this page has unclear or confusing information. Please tell us more about what you found unclear or confusing, or let us know how we could make it clearer:
You've told us there is a spelling or grammar error on this page. Please tell us what's wrong:
You've told us this page has a problem. Please tell us more about what's wrong:
Thank you for helping to make the Unity documentation better!
Your feedback has been submitted as a ticket for our documentation team to review.
We are not able to reply to every ticket submitted.