CSS/@property
表示
< CSS
@property
[編集]@propertyは、CSSカスタムプロパティ(変数)に型、初期値、継承の動作などのメタデータを定義するために使用されるCSSのルールです。このルールを用いることで、カスタムプロパティの挙動をより詳細に制御でき、ブラウザが型チェックや初期値の適用を行えるようになります。
構文
[編集]基本的な@propertyの構文は以下の通りです:
@property --<カスタムプロパティ名> { syntax: '<値の型>'; inherits: <true || false>; initial-value: <初期値>; }
--<カスタムプロパティ名>: 定義するカスタムプロパティの名前。必ず--で始める必要があります。syntax: プロパティで許容される値の型を指定するための[CSS値構文](https://www.w3.org/TR/css-values-4/)。inherits: このプロパティが継承可能かどうかを指定します(trueまたはfalse)。initial-value: このプロパティのデフォルト値。
使用例
[編集]基本的なカスタムプロパティの定義
[編集]@property --primary-color { syntax: '<color>'; inherits: false; initial-value: #ff0000; }
この例では、--primary-colorというカスタムプロパティを定義し、以下を指定しています:
- 許容値: 色(
<color>)。 - 継承: 継承しない(
false)。 - 初期値: 赤(
#ff0000)。
このカスタムプロパティは、以下のように使用できます:
div { background-color: var(--primary-color); }
数値型のカスタムプロパティ
[編集]@property --spacing { syntax: '<length>'; inherits: true; initial-value: 10px; }
この例では、--spacingというプロパティを定義し、以下を指定しています:
- 許容値: 長さ(
<length>)。 - 継承: 継承する(
true)。 - 初期値: 10px。
これにより、次のように使用できます:
.box { padding: var(--spacing); }
注意事項
[編集]@propertyを使用する際、指定するプロパティ名は必ず--で始まる必要があります。- ブラウザサポート:
@propertyは一部の最新ブラウザ(例: Chromium系ブラウザ)でのみサポートされています。他のブラウザでは無視されるため、フォールバックのスタイルを用意することが推奨されます。 - 定義されていないカスタムプロパティを使用すると、デフォルトでは
initial-valueが適用されます。
ブラウザ対応状況 ブラウザ サポート Google Chrome サポートあり (85以降) Microsoft Edge サポートあり Firefox 未サポート Safari 未サポート
最新のブラウザ対応状況はCan I Useで確認してください。
関連情報
[編集]@propertyを活用することで、カスタムプロパティの動作をより精密に制御し、信頼性の高いスタイリングが可能になります。特に型や初期値を厳密に管理したい場合に有用です。