Unity3D :USS 属性数据类型
推荐:将NSDT场景编辑器加入你的3D工具链
3D工具集:NSDT简石数字孪生
USS 属性数据类型
使用 Unity 样式表 (USS) 时,可以在 USS 文件中指定属性的值。还可以使用 的 C# 属性在 C# 中分配属性值。在 C# 中分配的值将覆盖 USS 文件中的值。VisualElementVisualElement
可使用自定义属性 来扩展 USS。 自定义 USS 属性需要 前缀。--
本页介绍支持的数据类型。
USS 数据类型定义 USS 属性接受的值和关键字。
财产 | 描述 | |
---|---|---|
<length> | 表示距离值。 | |
<number> | 表示整数或带有小数部分的数字。 | |
<integer> | 表示整数。 | |
<color> | 表示一种颜色。您可以使用代码、或函数或颜色关键字(例如 or )定义颜色。#hexadecimal rgb() rgba() blue transparent | |
<resource> | 表示资源文件夹中的资产。 | |
<url> | 表示由路径指定的资产。您可以将其表示为相对路径或绝对路径。 | |
<length>{1,4} | 表示 、 和属性(如 、 或 )的属性的一到四个选项。-top- -bottom- -left- -right- padding-top border-top-width | |
1 长度 | 适用于所有四个属性。 | |
2 种长度 | 第一个适用于 和 。第二个适用于 和 。-top- -bottom- -left- -right- | |
3 种长度 | 第一个适用于 。第二个适用于 和 。第三个适用于 。-top- -left -right- -bottom- | |
4 种长度 | 按以下顺序应用:、、、-top- -right -bottom- -left- |
长度
UI 工具包支持像素 () 和百分比 () 作为长度的度量单位。 像素值是绝对值,而百分比通常相对于元素父级。px%
例如:
width:200px;
表示宽度为 200 像素。width:50%;
表示宽度为父元素宽度的一半。
务必指定度量单位。 如果未指定度量单位,则 UI 工具包会假定属性值以像素为单位。
注意: 是一个不需要度量单位的特殊值。0
数值的
数值表示为浮点或整数字面值。 例如:。flex:1.0
关键字
某些内置属性支持特定关键字。关键字提供描述性名称而不是数字。例如:。所有属性都支持 global 关键字,该关键字将属性重置为其默认值。有关关键字列表,请参阅 USS 属性。position:absoluteinitial
颜色
UI 工具包支持以下字面颜色值和函数:
- 十六进制值:(rgba,每个通道一个字节)、 (rgb)
#FFFF00#0F0
- RGB 函数:
rgb(255, 255, 0)
- RGBA 函数:
rgba(255, 255, 0, 1.0)
- 颜色关键字:、
bluetransparent
资源
您可以从 USS 文件中引用项目资源,例如字体和纹理。 例如,您可以引用纹理作为元素的背景图像。
您可使用 或 函数来引用资源。 引用的资源将在样式表导入期间进行解析。url()resource()
例如,下面的样式声明使用 函数引用 目录中名为 的纹理资源,并将其指定为背景图像。resource()Imagesimg.png
`background-image: resource("Images/img.png");
Unity 大多数情况下推荐使用 函数。 但 函数自动支持为不同的屏幕密度加载不同版本的图像资源。url()resource()
使用 url 函数引用资产
当您使用 函数引用资源时,指定的路径可以是相对的或绝对的:url()
- 相对路径必须相对于包含引用资源的 USS 文件的文件夹。
- 绝对路径是相对于项目的。
路径必须包含文件扩展名。
例如,假设您的项目有一个包含所有样式表的 文件夹,以及一个包含所有图像资源的 Resources 文件夹。USS
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") |
使用资源函数引用资产
resource()
函数可以引用 Unity 的资源文件夹中的资源( 和 )。 您可以通过名称来引用资源。ResourcesEditor Default Resources
- 如果文件位于 文件夹中,必须包含文件扩展名。
Editor Default Resources 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/视网膜屏幕的参考图像资源
如果您需要支持不同屏幕密度 (DPI) 的屏幕, 函数允许您自动加载正确版本的纹理资源。resource()
您必须:
- 确保纹理的高 DPI 版本在其文件名中带有 后缀。 例如, 的高 DPI 版本应为
@2xmyimage.pngmyimage@2x.png
- 将纹理资源的常规和高 DPI 版本放在同一项目文件夹中。
当 Unity 加载资源时,它会自动为当前 DPI 屏幕选择正确的版本。
例如,如果您在 USS 中使用 ,Unity 将加载 或 。resource("myimage")Resources/myimage.pngResources/myimage@2x.png
字符串
使用引号指定字符串值。 例如:。--my-property: "foo"
由3D建模学习工作室整理翻译,转载请注明出处!