Каждый VisualElement
включает свойства стиля, которые задают размеры элемента и то, как элемент отображается на экране, например backgroundColor
или borderColor
.
Свойства стиля задаются либо в C#, либо из таблицы стилей. Свойства стиля имеют собственную структуру данных (интерфейс IStyle
).
UI Toolkit поддерживает таблицы стилей, написанные на USS (таблица стилей Unity). Файлы USS — это текстовые файлы, вдохновленные каскадными таблицами стилей (CSS) из HTML. Формат USS похож на CSS, но USS включает переопределения и настройки для лучшей работы с Unity.
В этом разделе содержится подробная информация о USS, его синтаксисе и отличиях от CSS.
Краткий обзор поддерживаемых свойств USS см. в справочнике по свойствам USS.
Определение таблицы стилей Unity
Основные строительные блоки таблицы стилей Unity (USS) следующие:
- USS – это текстовый файл, признанный ресурсом. Текстовый файл должен иметь расширение
.uss
. - USS поддерживает только правила стиля.
- Правила стиля состоят из селектора и блока объявлений.
- Селектор определяет, на какой визуальный элемент влияет правило стиля.
- Блок объявлений, заключенный в фигурные скобки, содержит одно или несколько объявлений стиля. Каждое объявление стиля состоит из свойства и значения. Каждое объявление стиля заканчивается точкой с запятой.
- Значением каждого свойства стиля является литерал, который при анализе должен совпадать с именем целевого свойства.
Общий синтаксис правила стиля:
selector {
property1:value;
property2:value;
}
Присоединение USS к визуальным элементам
Вы можете прикрепить таблицу стилей Unity (USS) к любому визуальному элементу. Правила стиля применяются к визуальному элементу и всем его потомкам. Таблицы стилей также автоматически повторно применяются при необходимости.
Загружать объекты StyleSheet
с помощью стандартных API Unity, таких как AssetDatabase.Load()
или Ресурсы.Загрузить()
. Используйте метод VisualElement.styleSheets.Add()
, чтобы прикрепить таблицы стилей к визуальным элементам.
Если вы изменяете файл USS во время работы EditorWindow
, изменения стиля применяются немедленно.
Процесс применения стилей прозрачен для разработчика, использующего Инструментарий пользовательского интерфейса. Таблицы стилей повторно применяются автоматически при необходимости (изменение иерархии, перезагрузка таблицы стилей).
Соответствие стиля правилам
Когда вы определяете таблицу стилей, вы можете применить ее к визуальному дереву. Селекторы сопоставляются с элементами, чтобы решить, какие свойства применяются из файла USS. Если селектор соответствует элементу, объявления стиля применяются к элементу.
Например, следующее правило соответствует любому объекту Button
:
Button {
width: 200px;
}
Сопоставление визуального элемента
UI Toolkit использует следующие критерии для сопоставления визуального элемента с его правилом стиля:
- Имя класса C# (всегда самый производный класс).
- Свойство
name
, представляющее собой строку. - Список классов, представленный в виде набора строк.
- Происхождение и положение VisualElement в визуальном дереве.
Эти свойства можно использовать в селекторах в таблице стилей.
Если вы знакомы с CSS, вы можете заметить сходство между именем HTML-тега, атрибутом id
и атрибутом class
.