USS data types
USS data types define typical values accepted by USS properties and functions.
阅读时间5 分钟最后更新于 1 个月前
USS data types define typical values, including keywords and units, that USS properties and functions accept.
Syntax
USS properties use the same syntax as W3C CSS documents:
- Keyword values appear as is. For example: ,
auto.baseline - Basic data types appear between angle brackets ( and
<). For example:>and<length>.<color> - Non-terminals that share the same name as a property appear between angle brackets and single straight quotes ( and
<'). For example,'>.<'width'>
If a property value has more than one option, the following applies:
- Side-by-side words mean that all options must occur in the given order.
- A bar () separates two or more options. One of them must occur.
| - Double bars () separate two or more options. One or more of them must occur in any order.
|| - Double ampersands () separate two or more options. All options must occur.
&& - Square brackets (
[) denote grouping.]
Every type, keyword, or angle-bracketed group might be followed by modifiers. The following table lists the possible modifiers:
Modifier | The preceding type, keyword, or group |
|---|---|
An asterisk ( | Occurs zero or more times |
A plus sign ( | Occurs one or more times |
A question mark ( | Is optional |
A pair of numbers in curly braces ( | Occurs at least |
Length
UI Toolkit supports pixels() and percentages () as units of measurement for length. Pixel values are absolute, while percentages are relative to the element's parent.
px%Examples:
- expresses a width of 200 px.
width:200px; - expresses a width of half of the parent element's width.
width:50%;
It's important to specify the unit of measurement. If you don't specify a unit of measurement, UI Toolkit assumes that the property value is expressed in px.
Numeric
Numeric values are expressed as either floating points or integer literals. For example, .
flex:1.0Keywords
Specific keywords are supported for some built-in properties. Keywords give a descriptive name instead of a number. For example: .
position:absoluteAll properties support the global keyword which resets the default value of a property to an element.
initialIn the following example, although you set the color of all the labels to red, the keyword of restores the color of to its default value:
initialcolorlabel1/* Set the color of all the labels to red. */Label { color: red;}/* label1 is the name of a specific label. */#label1{ color: initial;}
Color
UI Toolkit supports the following literal color values and functions:
- A Hexadecimal value: ,
#FFFF00#0F0 - The RGB function:
rgb(255, 255, 0) - The RGBA function:
rgba(255, 255, 0, 1.0) - Color keywords
Assets
You can reference project assets such as fonts and textures from your USS files. For example, you might reference a texture to use as the background image for an element.
To reference an asset, you can use either the function or the function:
url()resource()- : Represents an asset in a
resource()folder.Resources - : Represents an asset specified by a path. You can express it as either a relative path or an absolute path.
url()
Use the function in most cases. However, the function supports automatically loading different versions of image assets for different screen densities.
url()resource()Reference assets with the URL function
When you reference an asset with the function, the path you specify can be relative or absolute:
url()- Relative paths must be relative to the folder that contains the USS file that references the asset.
- Absolute paths are relative to the project.
The path must include the file extension.
For example, if your project has a folder that contains all your style sheets, and a folder that contains all your image assets.
USSResourcesAssets └─ Editor └─ Resources └─ USS
To reference an image named , you can use one of the following paths:
thumb.pngRelative path | Absolute path |
|---|---|
| |
To reference an image in a package, use the folder in the path:
PackagesRelative path | Absolute path |
|---|---|
| |
Reference assets with the resource function
The function can reference assets in Unity's resource folders ( and ). You reference an asset by name.
resource()ResourcesEditor Default Resources- If the file is in the folder, you must include the file extension.
Editor Default Resources - If the file is in the folder, you must not include the file extension.
Resources
For example:
Path to file | Reference syntax |
|---|---|
| |
| |
Reference image assets for High DPI/Retina screens
To support screens with different screen densities (DPI), do the following:
- Make sure that the high DPI versions of your textures have a suffix in their file names. For example the high DPI version of
@2xshould bemyimage.pngmyimage@2x.png - Place the regular and high DPI versions of the texture assets in the same project folder.
When Unity loads the asset, it automatically chooses the correct version for the current screen DPI.
For example, if you use in USS, Unity loads either or .
resource("myimage")Resources/myimage.pngResources/myimage@2x.pngStrings
Use quotes to specify a string value. For example: .
--my-property: "foo"