Встроенные и настраиваемые свойства
При использовании USS вы можете указать значения для встроенных свойств VisualElement
или для пользовательских свойств в вашем UI(Пользовательский интерфейс) Позволяет пользователю взаимодействовать с вашим приложением. Подробнее
См. в коде Словарь.
Помимо чтения их значений из файлов USS, вы можете назначать значения встроенных свойств в C#, используя свойства C# VisualElement
. Значения, назначенные в C#, переопределяют значения из таблицы стилей Unity (USS).
Вы можете расширить USS с помощью настраиваемых свойств. Для пользовательских свойств USS требуется префикс --
.
Значения свойства
В этом разделе перечислены поддерживаемые типы.
Длина
UI Toolkit поддерживает пикселинаименьшие единицы компьютерного изображения. Размер пикселя зависит от разрешения вашего экрана. Пиксельное освещение рассчитывается для каждого пикселя экрана. Подробнее
См. в Словарь (px
) и проценты (%
) в качестве единиц измерения длины. Значения пикселей являются абсолютными, а проценты обычно относятся к родительскому элементу.
Примеры:
width:200px;
обозначает ширину 200 пикселей.width:50%;
выражает ширину, равную половине ширины родительского элемента.
Важно указать единицу измерения. Если вы не укажете единицу измерения, UI Toolkit предполагает, что значение свойства выражено в пикселях.
Примечание. 0
– это специальное значение, для которого не требуется единица измерения.
Числовой
Числовые значения выражаются в виде литералов с плавающей запятой или целых чисел. Например, flex:1.0
.
Ключевые слова
Для некоторых встроенных свойств поддерживаются определенные ключевые слова. Ключевые слова предоставляют описательное имя вместо числа. Например: position:absolute
. Все свойства поддерживают глобальное ключевое слово initial
, которое сбрасывает свойство до его значения по умолчанию. Список ключевых слов см. в разделе поддерживаемые свойства.
Цвет
UI Toolkit поддерживает следующие буквальные значения цвета и функции:
- Шестнадцатеричное значение:
#FFFF00
(rgba, один байт на канал),#0F0
(rgb) - Функция RGB:
rgb(255, 255, 0)
- Функция RGBA:
rgba(255, 255, 0, 1.0)
- Ключевые слова цвета:
синий
,прозрачный
Активы
Вы можете ссылаться на ресурсы проекта, такие как шрифты и текстуры, из файлов USS. Например, вы можете сослаться на текстуру, чтобы использовать ее в качестве фонового изображения для элемента.
Чтобы сослаться на ресурс, вы можете использовать либо функцию url()
, либо функцию resource()
. Ссылочные активы разрешаются при импорте таблицы стилей.
Например, объявление стиля ниже использует функцию resource()
для ссылки на ресурс текстуры с именем img.png
в каталог Images
и укажите его в качестве фонового изображения.
`background-image: resource("Images/img.png");
В большинстве случаев Unity рекомендует использовать функцию url()
. Однако функция resource()
поддерживает автоматическую загрузку разных версий графических ресурсов для разных разрешений экрана.
Ссылка на объекты с помощью функции URL
Когда вы ссылаетесь на ресурс с помощью функции url()
, указанный вами путь может быть относительным или абсолютным:
- Относительные пути должны указываться относительно папки, содержащей файл USS, который ссылается на ресурс.
- Абсолютные пути относятся к проекту.
Путь должен включать расширение файла.
Например, предположим, что в вашем проекте есть папка USS
, содержащая все ваши таблицы стилей, и папка Resources, содержащая все ваши графические ресурсы.
Assets
└─ Editor
└─ Resources
└─ USS
Для ссылки на изображение с именем thumb.png
можно использовать один из следующих путей:
Относительный путь | Абсолютный путь |
---|---|
url("../Resources/thumb.png") |
url("/Assets/Editor/Resources/thumb.png")
|
Ссылка на ресурсы с помощью функции ресурса
Функция resource()
может ссылаться на активы в папках ресурсов Unity (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") |
Ссылки на изображения для экранов с высоким разрешением/ретина
Если вам нужна поддержка экранов с разной плотностью экрана (DPI), функция resource()
позволяет автоматически загружать правильные версии ресурсов текстуры.
Вы должны:
- Убедитесь, что версии ваших текстур с высоким разрешением имеют суффикс
@2x
в именах файлов. Например, версияmyimage.png
с высоким разрешением должна бытьmyimage@2x.png
.
- Поместите обычную версию текстурных ресурсов и версию с высоким разрешением в одну папку проекта.
Когда Unity загружает ресурс, он автоматически выбирает правильную версию для текущего разрешения экрана.
Например, если вы используете resource("myimage")
в USS, Unity загружает либо Resources/myimage.png
или Resources/myimage@2x.png
.
Строки
Используйте кавычки, чтобы указать строковое значение. Например: --my-property: "foo"
.