Unity 6.3
0 онлайн 106 гостей 3 в системе
Вход
UI системы Шаг 128 из 317

Введение в USS

Таблица стилей Unity (USS) представляет собой текстовый файл, распознаваемый как ресурс, поддерживающий правила стилей. Текстовый файл USS должен иметь расширение .uss.

Вы можете использовать файлы USS для определения внешнего вида и стилей для элементов UI в ваших играх и приложениях. USS предоставляет способ отделить внешний вид и стиль элементов UI от остальной части кода, что облегчает управление и поддержание внешнего вида приложения.

С помощью USS вы можете определить стили для кнопок, надписей, изображений и других элементов UI в отдельном файле USS, а затем применить эти стили в коде вашей игры или приложения. Это позволяет изменить внешний вид вашего приложения путем модификации файла USS, без необходимости вносить изменения в код.

USS состоит из следующего:

  • Правила стиля, которые включают селектор и блок объявления.
  • Селекторы, которые определяют, на какой визуальный элемент влияет правило стиля.
  • Блок объявления, в скобках, содержащий одно или несколько объявлений стиля. Каждое объявление стиля имеет свойство и значение. Каждое объявление стиля заканчивается точкой с запятой.

Синтаксис

Ниже приведен общий синтаксис правила стиля:

selector {
  property1: value;
  property2: value;
}

Соответствие стиля правилам

Когда вы определяете таблицу стилей, вы можете применить ее к визуальное дерево. Селекторы соответствуют элементам, чтобы определить, какие свойства применяются из USS файл. Если селектор соответствует элементу, то декларации стилей применяются к элементу.

Например, следующее правило соответствует любому объекту Button:

Button {
  width: 200px;
}

Поддерживаемые типы селекторов

USS поддерживает несколько типов простых и сложных селекторов, которые сопоставляют элементы на основе различных критериев, таких как:

  • Имя типа элемента C#
  • Назначенное свойство name
  • Список классов USS
  • Положение элемента в визуальное дерево и его связь с другими элементами

USS также поддерживает псевдоклассы, которые можно использовать в селекторах, чтобы нацелиться на элементы в определённом состоянии или выбрать элемент :root.

Если элемент соответствует более чем одному селектору, USS применяет стили из любого селектора имеет приоритет.

Примечание: Все селекторы учитывают регистр.

Простые селекторы

USS поддерживает набор простых селекторов, которые аналогичны, но не идентичны простым селекторам в CSS.. В следующей таблице приведен краткий перечень простых селекторов USS.

Тип выбора Синтаксис Матчи
выбор типа Type {...} Элементы определенного типа C# или визуального элемента.
Выбор класса .class {...} Элементы с назначенным классом USS.
Выбор названия #name {..} Элементы с атрибутом name.
универсальный селектор * {...} Любые элементы.

Комплексные селекторы

USS поддерживает подмножество комплексных селекторов CSS. В следующей таблице приведен краткий перечень комплексных селекторов USS.

Тип выбора Синтаксис Матчи
Выбор последовательности selector1 selector2 {...} Элементы, которые являются потомками другого элемента в визуальном дереве.
Дочерний селектор selector1 > selector2 {...} Элементы, которые являются дочерними элементами другого элемента в визуальном дереве.
Многофункциональный селектор selector1selector2 {...} Элементы, соответствующие всем простым селекторам.

Привязка стилей к элементам

Вы можете связать стили с элементами следующими способами:

  • В UI Builder стилизуйте элемент с помощью встроенных стилей или селекторов USS. Дополнительную информацию см. в Стиль UI с UI Builder
  • В UXML стилизируйте элемент с помощью встроенных стилей или прикрепите таблицу стилей с селекторами, соответствующими этому элементу. Дополнительную информацию см. в Добавление стилей в UXML.
  • В сценарии C# устанавливайте стили непосредственно в свойствах style или добавляйте таблицу стилей USS в свойство styleSheet с селекторами, соответствующими элементу. Дополнительные сведения см. в Применение стилей в скриптах C#.

Поддерживаемые символы

Селекторы USS поддерживают следующие символы:

  • Должно начинаться с буквы (A–Z или a–z) или с подчеркивания (_).
  • Может содержать буквы, цифры (0–9), дефисы (-) и подчеркивания (_).
  • Например, myClass и MyClass отличаются друг от друга.
  • Селекторы не могут начинаться с цифры или дефиса, за которым следует цифра (например, .1class или .-1class).

Селекторы USS также поддерживают следующие символы, но вы должны вывести их обратной косынкой (\):

  • Юникод символы
  • Специальные символы, такие как !, @, #, $, %, ^, &, *, (, ), +, =, [, ], {, }, |, ;, :, ', ", ,, ., <, >, /, ?.

Примечание: UI Builder не поддерживает все специальные символы.

Дополнительные ресурсы