mathe/Library/PackageCache/com.unity.timeline@1.7.5/Documentation~/uss_styles.md
2024-09-20 20:30:10 +02:00

86 lines
2.0 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Defining custom USS styles
The first step to define a USS style is to create a new stylesheet. Stylesheets can be used to extend the Editors visual appearance.
This can be done by adding a file named `common.uss` in an Editor folder in a `StyleSheets/Extensions` folder hierarchy.
For example, the following locations are valid:
``` txt
Assets/Editor/Stylesheets/Extensions/common.uss
Assets/Editor/MyFolder/Stylesheets/Extensions/common.uss
Assets/Editor/MyFolder1/MyFolder2/Stylesheets/Extensions/common.uss
```
USS files (for Unity Style Sheet) use a [CSS-like syntax to describe new styles](https://docs.unity3d.com/Manual/UIE-USS.html). Here is an example:
``` css
myStyle
{
width:18px;
height:18px;
background-image: resource("Assets/Editor/icon.png");
}
```
In this style, we specified that we wish to use a custom icon along with size properties. USS styles also support [pseudo-states](https://docs.unity3d.com/Manual/UIE-USS-Selectors.html), which works like [pseudo-classes in CSS](https://developer.mozilla.org/en-US/docs/Web/CSS/Pseudo-classes). Timeline markers support the following pseudo-states:
- Collapsed: `.myStyle`
- Normal: `.myStyle:checked`
- Selected: `.myStyle:hover:focus:checked`
USS stylesheets also support Unity's light and dark themes. Styles in files named `dark.uss` and `light.uss` will be used as an override of the style in `common.uss`. For example:
- `common.uss`
``` css
myStyle
{
width:18px;
height:18px;
color: rgb(125, 125, 125);
}
```
- `dark.uss`
``` css
myStyle
{
color: rgb(0, 0, 0);
background-image: resource("icon_dark.png");
}
```
- `light.uss`
``` css
myStyle
{
color: rgb(255, 255, 255);
background-image: resource("icon_light.png");
}
```
In the dark theme, `myStyle` will be resolved to:
``` css
myStyle
{
width:18px;
height:18px;
color: rgb(0, 0, 0);
background-image: resource("icon_dark.png");
}
```
and in the light theme:
``` css
myStyle
{
width:18px;
height:18px;
color: rgb(255, 255, 255);
background-image: resource("icon_light.png");
}
```