使用 USS 时,可为内置的 VisualElement
属性或 UI 代码中的自定义属性指定值。
除了从 USS 文件中读取值之外,还可以使用 VisualElement
的 C# 属性在 C# 中分配内置属性值。在 C# 中分配的值将覆盖 Unity 样式表 (USS) 中的值。
可使用自定义属性 API 来扩展 USS。自定义 USS 属性需要 --
前缀。
本节列出了支持的类型。
UIElements only supports the pixel (px
) unit of measurement. If a unit of measurement is not specified, UIElements assumes that the property type is expressed in pixels. It is good practice to specify px
as the unit of measurement.
For example, a width of two hundred pixels should be expressed as width:200px;
. Note that 0
is a special value that doesn’t require a unit of messurement.
数值表示为浮点或整数字面值。例如:flex:1.0
。
某些内置属性支持特定关键字。关键字提供描述性名称而不是数字。例如:position:absolute
。所有属性都支持 initial
全局关键字,该关键字将属性重置为默认值。请参阅支持的属性以查看关键字的列表。
UIElements 支持以下字面颜色值和函数:
#FFFF00
(rgba,每个通道一个字节)、#0F0
(rgb)rgb(255, 255, 0)
rgba(255, 255, 0, 1.0)
可使用 resource()
或 url()
函数来引用资源。例如,指定 background-image: resource("Images/img.png")
可将 Images
目录中的 img.png
指定为背景图像。导入期间将解析引用的资源。
resource()
函数接受位于 Resources
文件夹或 Editor Default Resources
文件夹下的文件,但注意以下几点:
Resources
文件夹下,不要包含文件扩展名。例如:background-image: resource("Images/my-image")
。Editor Default Resources
下,必须包含文件扩展名。例如:background-image: resource("Images/default-image.png")
。此外,在加载纹理时,resource()
提供了一种处理高 DPI/Retina 屏幕的便捷方法。如果在同一位置存在具有相同文件名和后缀 @2x
的纹理,Unity 将根据屏幕 DPI 自动加载该纹理。
例如,如果在 USS 中使用 resource("myimage")
,Unity 将加载 Resources/myimage.png 或 Resources/myimage@2x.png。
url()
函数要求文件路径相对于项目根目录或包含 USS 文件的文件夹。必须包含文件扩展名。在以下示例中,USS 文件位于 Assets\Editor\USS 中,_thumb.png_ 背景图像位于 Assets\Editor\Resources 中:
url("../Resources/thumb.png");
url("/Assets/Editor/Resources/thumb.png");
、url("project:/Assets/Editor/Resources/thumb.png");
或 url("project:///Assets/Editor/Resources/thumb.png");
例如:background-image: url("Images/my-image.png")
。使用引号指定字符串值。例如:--my-property: "foo"
。