USS属性类型
内置属性vs自定义属性
使用USS时,您可以指定内置的VisualElement
属性,或者在你的UI代码中自定义属性。
除了从USS文件中读取属性值之外,还可以在C#中为内置属性的赋值(使用C#类VisualElement的
属性)
。在C#中赋的值会覆盖Unity样式表(USS)中的值。
您可以使用自定义属性 API来扩展USS。自定义USS属性需要“
--”
前缀。
属性值
本节列出了所支持的类型。
长度
UIElements仅支持像素(px
)为度量单位。如果度量单位未指定,则UIElements会认为属性类型以像素表示。优良作法是指定px
为测量单位。
例如,200个像素的宽度应表示为width:200px;
。请注意,这0
是一个特殊值,不需要使用单位。
数值
数值可以表示为浮点数或整数。例如,flex:1.0
。
关键字
某些内置属性支持特定关键字。关键字提供描述性名称而不是数字。例如:position:absolute
。所有属性都支持initial
全局关键字,该关键字将属性重置为其默认值。请参阅支持的属性以获取关键字列表。
颜色
UIElements支持以下文字颜色值和功能:
- 十六进制值:
#FFFF00
(rgba每个通道一个字节),#0F0
(rgb) - RGB功能:
rgb(255, 255, 0)
- RGBA功能:
rgba(255, 255, 0, 1.0)
资源引用
您可以使用resource()
或url()
函数引用Assets 。例如,使用background-image: resource("Images/img.png")
指定背景图像img.png
位于Images
目录中。引用的资产将在导入期间被解析。
该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:
- 根据USS文件的位置,例如可以使用相对路径:
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")
。