版本:Unity 6 (6000.0)
语言:英语
样式 UI
USS 选择器

USS 简介

Unity 样式表 (USS) 是一个文本文件,被识别为支持样式规则的资源。USS 文本文件必须具有 .uss 扩展名。

您可以使用 USS 文件来定义游戏和应用程序中 UI(用户界面) 允许用户与您的应用程序交互。Unity 目前支持三种 UI 系统。 更多信息
查看 术语表
元素的外观和样式。USS 提供了一种方法,可以将 UI 元素的外观和样式与代码的其余部分分开,从而更轻松地管理和维护应用程序的外观和感觉。

使用 USS,您可以在单独的 USS 文件中定义按钮、标签、图像和其他 UI 元素的样式,然后在游戏或应用程序代码中应用这些样式。这样就可以通过修改 USS 文件来更改应用程序的外观,而无需对代码进行更改。

USS 由以下内容组成

  • 包含选择器和声明块的样式规则。
  • 选择器,用于标识样式规则影响的 视觉元素可视化树中的一个节点,它实例化或派生自 C# VisualElement 类。您可以为其设置外观、定义行为,并在屏幕上显示它作为 UI 的一部分。 更多信息
    查看 术语表
  • 声明块,位于花括号内,包含一个或多个样式声明。每个样式声明都有一个属性和一个值。每个样式声明都以分号结尾。

语法

以下是样式规则的通用语法

selector {
  property1: value;
  property2: value;
}

使用规则进行样式匹配

当您定义样式表时,可以将其应用于 可视化树一个对象图,由轻量级节点组成,它包含窗口或面板中的所有元素。它定义了使用 UI 工具包构建的每个 UI。
查看 术语表
。选择器与元素匹配,以确定哪些属性应用于 USS 文件。如果选择器与元素匹配,则样式声明将应用于该元素。

例如,以下规则与任何 Button 对象匹配

Button {
  width: 200px;
}

支持的选择器类型

USS 支持多种简单和复杂选择器,这些选择器根据不同的标准匹配元素,例如以下内容

  • 元素 C# 类型名称
  • 分配的 name 属性
  • USS 类列表
  • 元素在 可视化树 中的位置及其与其他元素的关系

USS 还支持 伪类,您可以将其与选择器一起使用,以定位处于特定状态的元素或选择 :root 元素。

如果元素与多个选择器匹配,则 USS 将应用 优先级最高 的选择器的样式。

注意:所有选择器都区分大小写。

简单选择器

USS 支持一组简单选择器,这些选择器类似于 CSS 中的简单选择器,但并不完全相同。下表提供 USS 简单选择器的快速参考。

选择器类型 语法 匹配
类型选择器 Type {...} 特定 C# 或视觉元素类型的元素。
类选择器 .class {...} 分配了 USS 类的元素。
名称选择器 #name {..} 分配了 name 属性的元素。
通用选择器 * {...} * {...}

任何元素。

复杂选择器

选择器类型 语法 匹配
USS 支持 CSS 复杂选择器的一个子集。下表提供 USS 复杂选择器的快速参考。 后代选择器 selector1 selector2 {...}
在可视化树中作为另一个元素的后代的元素。 子选择器 selector1 > selector2 {...}
作为可视化树中另一个元素的子元素的元素。 多个选择器 selector1selector2 {...}

匹配所有简单选择器的元素。

将样式连接到元素

  • 您可以通过以下方法将样式连接到元素
  • 在 UI Builder 中,使用内联样式或 USS 选择器来设置元素的样式。有关更多信息,请参阅 使用 UI Builder 设置 UI 样式
  • 在 UXML 中,使用内联样式设置元素的样式,或使用与该元素匹配的选择器附加样式表。有关更多信息,请参阅 向 UXML 添加样式

在 C# 脚本中,直接将样式设置为 style 属性,或使用与元素匹配的选择器将 USS 样式表添加到 styleSheet 属性。有关更多信息,请参阅 在 C# 脚本中应用样式

样式 UI
USS 选择器