Unity3D :USS 属性数据类型

推荐:将NSDT场景编辑器加入你的3D工具链
3D工具集:NSDT简石数字孪生

USS 属性数据类型

使用 Unity 样式表 (USS) 时,可以在 USS 文件中指定属性的值。还可以使用 的 C# 属性在 C# 中分配属性值。在 C# 中分配的值将覆盖 USS 文件中的值。VisualElementVisualElement

可使用自定义属性 来扩展 USS。 自定义 USS 属性需要 前缀。--

本页介绍支持的数据类型。

USS 数据类型定义 USS 属性接受的值和关键字。

财产描述
<length>表示距离值。
<number>表示整数或带有小数部分的数字。
<integer>表示整数。
<color>表示一种颜色。您可以使用代码、或函数或颜色关键字(例如 or )定义颜色。#hexadecimalrgb()rgba()bluetransparent
<resource>表示资源文件夹中的资产。
<url>表示由路径指定的资产。您可以将其表示为相对路径或绝对路径。
<length>{1,4}表示 、 和属性(如 、 或 )的属性的一到四个选项。-top--bottom--left--right-padding-topborder-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.pngresource("Images/my-image")
Assets/Editor Default Resources/Images/my-image.pngresource("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建模学习工作室整理翻译,转载请注明出处!

上一篇:Unity3D :从 C# 脚本加载 UXML (mvrlink.com)

下一篇:Unity3D :调度事件 (mvrlink.com)

NSDT场景编辑器 | NSDT 数字孪生 | GLTF在线编辑器 | 3D模型在线转换 | UnrealSynth虚幻合成数据生成器 | 3D模型自动纹理化工具
2023 power by nsdt©鄂ICP备2023000829号