包含此页的版本:
不含此页的版本:
伪类缩小了选择器的范围,因此它仅在元素进入特定状态时才匹配它们。
将伪类附加到简单选择器,以便在特定元素处于特定状态时匹配它们。例如,以下 USS 规则使用:hoverpseudo-class 来更改Button当用户将指针悬停在元素上时,元素。
Button:hover {
background-color: palegreen;
}
您可以设置和获取元素的伪状态。有关示例,请参阅检查控件的伪状态。
下表列出了支持的伪类。无法扩展伪类或创建自定义类。
| 伪类 | 匹配元素 |
|---|---|
:hover |
光标位于元素上方。 |
:active |
用户与元素交互。 |
:inactive |
用户停下来与元素交互。 |
:focus |
元素有焦点。 |
:selected |
USS 不支持这种伪状态。 用:checked相反。 |
:disabled |
该元素处于禁用状态。 |
:enabled |
元素处于启用状态。 |
:checked |
该元素是一个切换 允许用户打开或关闭选项的复选框。更多信息 请参阅术语表或 RadioButton 元素,并将其选中。 |
:root |
该元素是可视化树由轻量级节点组成的对象图,用于保存窗口或面板中的所有元素。它定义了使用 UI 工具包构建的每个 UI。 请参阅术语表应用了样式表。 |
您可以将伪类链接在一起,以便为多个并发状态应用相同的样式。例如,以下 USS 规则将:checked和:hover伪类一起更改选中颜色Toggle当用户将指针悬停在元素上时,元素。
Toggle:checked:hover {
background-color: yellow;
}
如果选中切换,但指针未悬停在其上,则选择器不再匹配。
这:rootpseudo-class 匹配应用样式表的最高级别元素。
您可以使用:rootpseudo-class 为跨元素的继承样式设置默认样式值。要查看继承了哪些 USS 属性,请参阅 USS 属性参考。
例如,以下 USS 规则设置默认字体。如果将样式表应用于可视化树中的根元素,则任何未从更具体的样式规则获取其字体的元素都将使用该字体。
:root {
-unity-font: url("../Resources/fonts/OpenSans-Regular.ttf");
}
的常见用途:root伪类是声明“全局”变量(自定义属性),其他样式规则可以使用该变量来代替特定值。例如,您可以为颜色定义自定义属性并在其他规则中使用它:
:root {
--my-color: #ff0000;
}
Button {
background-color: var(--my-color);
}
在 CSS 中,:rootpseudo-class 匹配根元素,即<HTML>. 在 USS 中,它可以是根元素或可视化树中的任何其他元素。它与其他元素或该元素的子元素不匹配。
例如,如果您有以下层次结构:
var myElement = new VisualElement();
var myElementChild = new VisualElement();
myElement.Add(myElementChild);
var myOtherElement = new VisualElement();
如果将样式表添加到myElement:
myElement.stylesheets.Add(myStyleSheet);
这:root选择器匹配myElement但不是myElementChild和myOtherElement.
如果将样式表显式添加到myElementChild和myOtherElement:
myElementChild.stylesheets.Add(myStyleSheet);
myOtherElement.stylesheets.Add(myStyleSheet);
在这种情况下,:root选择器匹配myElement,myElementChild和myOtherElement.