Unity スタイルシート (USS) は、スタイルルールをサポートするアセットとして認識されるテキストファイルです。USS テキストファイルには .uss 拡張子が必要です。
USS ファイルを使用して、ゲームやアプリケーションの UI 要素の外観とスタイルを定義できます。USS によって UI 要素の外観とスタイルをコードの他の部分から分離でき、アプリケーションのルックアンドフィールの管理と維持が容易になります。
USS を使用すると、ボタン、ラベル、画像などの UI 要素のスタイルを別の USS ファイルで定義し、ゲームまたはアプリケーションコードに適用することができます。これにより、コードに変更を加えなくても、USS ファイルを変更してアプリケーションの外観を変更できます。
USS は以下のように構成されています。
以下はスタイルルールの一般的な構文です。
selector {
property1: value;
property2: value;
}
スタイルシートを定義すると、それをビジュアルツリーに適用することができます。セレクターは要素と照合して、どのプロパティが USS ファイルから適用できるかを解決します。セレクターが一致する要素を見つけると、スタイル宣言はその要素に適用されます。
例えば、以下のルールはすべての Button オブジェクトに適合します。
Button {
width: 200px;
}
USS は、以下のような異なる基準に基づいて要素に一致する、複数タイプの単純セレクターと複合セレクターをサポートしています。
name プロパティUSS はまた、疑似クラスをサポートしており、セレクターと一緒に使用することで、特定の状態にある要素をターゲットにしたり、:root 要素を選択したりすることができます。
ある要素が複数のセレクターに一致する場合、USS では優先されるセレクターのスタイルが適用されます。
ノート: すべてのセレクターで大文字と小文字が区別されます。
USS は、CSS の単純セレクターと類似した、しかし同一ではない一連の単純セレクターをサポートしています。以下の表は、USS の単純セレクターのクイックリファレンスです。
| セレクタータイプ | 構文 | 一致 |
|---|---|---|
| タイプセレクター | Type {...} |
特定の C# またはビジュアル要素タイプの要素 |
| クラスセレクター | .class {...} |
USS クラスが割り当てられた要素。 |
| 名前セレクター | #name {..} |
name 属性が割り当てられた要素 |
| ユニバーサルセレクター | * {...} |
任意の要素 |
USS は CSS 複合セレクターのサブセットをサポートします。以下の表は、USS の複合セレクターのクイックリファレンスです。
| セレクタータイプ | 構文 | 一致 |
|---|---|---|
| 子孫セレクター | selector1 selector2 {...} |
ビジュアルツリー内の別の要素の子孫である要素。 |
| 子セレクター | selector1 > selector2 {...} |
ビジュアルツリー内の別の要素の子である要素。 |
| 複数セレクタ― | selector1selector2 {...} |
すべての単純セレクターに一致する要素。 |
以下の方法でスタイルを要素に設定できます。
style プロパティに直接スタイルを設定するか、要素に一致するセレクターを使用して USS スタイルシートを styleSheet プロパティに追加します。詳細については、C# スクリプトでスタイルを適用するを参照してください。