Типы данных USS
Типы данных USS определяют типичные значения, включая ключевые слова и единицы, которые принимаются свойствами и функциями USS.
Синтаксис
Свойства USS используют тот же синтаксис, что и документы W3C и CSS:
- Значения ключевых слов отображаются без изменений. Например:
auto,baseline. - Основные типы данных появляются в квадратных скобках (
<и>). Например:<length>и<color>. - Нетерминалы, имеющие то же имя, что и свойство, помещаются в квадратные скобки и одиночные кавычки (
<'и'>). Например,<'width'>.
Если значение свойства имеет более одного параметра, применяются следующие правила:
- Соседние слова означают, что все варианты должны встречаться в заданном порядке.
- Прочерк (
|) разделяет два или более варианта. Один из них должен присутствовать. - Двойные строки (
||) разделяют два или более варианта. Один или более из них должны быть в любом порядке. - Двойные символы и (
&&) разделяют два или более варианта. Все варианты должны быть представлены. - В квадратных скобках (
[,]) указана группа.
За каждым типом, ключевым словом или группой в квадратных скобках могут следовать модификаторы. В следующей таблице перечислены возможные модификаторы:
| Изменить | Предшествующий тип, ключевое слово или группа |
|---|---|
Звездочка (*) |
Возникает 0 или более раз |
Знак плюс (+) |
Возникает один или несколько раз |
Вопросительный знак (?) |
Факультативно |
Пара цифр в квадратных скобках ({A,B}) |
Возникает не менее A и не более B раз |
Длина
UI Toolkit поддерживает пикселей(px) и процентов (%) в качестве единиц измерения длины. Значения пикселей являются абсолютными, в то время как проценты относятся к родительскому элементу.
Примеры:
width:200px;выражает ширину 200 пикселей.width:50%;выражает ширину, равную половине ширины родительского элемента.
Важно указать единицу измерения. Если вы не указываете единицу измерения, UI Toolkit предполагает, что значение свойства выражено в px.
Примечание: 0 является специальным значением, которое не требует единицы измерения.
Число
Числовые значения выражаются либо в виде плавающей запятой, либо в виде целых литералов. Например, flex:1.0.
Ключевые слова
Для некоторых встроенных свойств поддерживаются конкретные ключевые слова. Ключевые слова дают описательное имя вместо числа. Например: position:absolute.
Все свойства поддерживают глобальное ключевое слово initial, которое перенастраивает значение по умолчанию свойства на элемент.
В следующем примере, несмотря на то, что вы установили красный цвет для всех меток, ключевое слово initial из color восстанавливает цвет label1 до его значения по умолчанию:
/* Set the color of all the labels to red. */
Label {
color: red;
}
/* label1 is the name of a specific label. */
#label1{
color: initial;
}
Цвет
UI Toolkit поддерживает следующие буквальные цветовые значения и функции:
- Шестнадцатеричное значение:
#FFFF00,#0F0 - Функция RGB:
rgb(255, 255, 0) - Функция RGBA:
rgba(255, 255, 0, 1.0) - Цвет ключевые слова
Ассеты
Вы можете ссылаться на ресурсы проекта, такие как шрифты и текстуры из ваших файлов USS. Например, вы можете ссылаться на текстуру, чтобы использовать ее в качестве фонового изображения для элемента.
Для ссылки на ресурс можно использовать либо функцию url(), либо функцию resource():
resource(): Представляет ассет в папкеResources.url(): Представляет ассет, указанный путем. Вы можете выразить его как относительный путь или абсолютный путь.
Используйте функцию url() в большинстве случаев. Однако функция resource() поддерживает автоматическую загрузку различных версий изображений для различных плотностей экрана.
Справочные ассеты с функцией URL
При ссылке на ресурс с помощью функции url() указываемый путь может быть относительным или абсолютным:
- Относительные пути должны быть относительными к папке, содержащей файл USS, который ссылается на ресурс.
- Абсолютные пути относятся к проекту.
Путь должен включать расширение файла.
Например, если в вашем проекте есть папка USS, содержащая все ваши таблицы стилей, и папка Resources, содержащая все ваши изображения.
Assets
└─ Editor
└─ Resources
└─ USS
Для ссылки на изображение с именем thumb.pngвы можете использовать один из следующих путей:
| Относительный путь | Абсолютный путь |
|---|---|
url("../Resources/thumb.png") |
url("/Assets/Editor/Resources/thumb.png")url("project:/Assets/Editor/Resources/thumb.png") url("project:///Assets/Editor/Resources/thumb.png") |
Для ссылки на образ в пакете используйте папку Packages в пути:
| Относительный путь | Абсолютный путь |
|---|---|
url("../Packages/com.my.example.package/Editor/Resources/thumb.png") |
url("Project:///Packages/com.my.example.package/Editor/Resources/thumb.png") |
Эталонные ассеты с функцией ресурса
Функция resource() может ссылаться на ассеты в папках ресурсов Unity (Resources и Editor Default Resources). Вы ссылаетесь на ассет по имени.
- Если файл находится в папке
Editor Default Resources, вы должны включить расширение файла. - Если файл находится в папке
Resources, не следует включать расширение файла.
Например:
| Путь к файлу | Синтаксис ссылок |
|---|---|
Assets/Resources/Images/my-image.png |
resource("Images/my-image") |
Assets/Editor Default Resources/Images/my-image.png |
resource("Images/default-image.png") |
Справочные изображения для экранов High DPI/Retina
Для поддержки экранов с разной плотностью экрана (DPI) выполните следующие действия:
- Убедитесь, что высокие версии DPI ваших текстур имеют суффикс
@2xв именах файлов. Например, высокая версия DPImyimage.pngдолжна бытьmyimage@2x.png - Поместите обычные и высокие DPI версии текстурных ассетов в одну и ту же папку проекта.
Когда Unity загружает ресурс, он автоматически выбирает правильную версию для текущего экрана DPI.
Например, если вы используете resource("myimage") в USS, Unity загружает либо Resources/myimage.png, либо Resources/myimage@2x.png.
Струны
Используйте кавычки для указания строкового значения. Например: --my-property: "foo".