Limited support 注意が必要。一部のブラウザのみ対応。プロダクション利用は慎重に判断すること。

概要

HTMLの属性値をCSSプロパティの値として直接参照できる強力な関数です。属性値を特定の型(length、color等)として解釈させたり、属性が存在しない場合のデフォルト値を設定できます。現在のところ主要ブラウザでの完全サポートはまだですが、将来的にHTMLとCSSの連携を大幅に強化する機能です。

対応ブラウザ

デスクトップ

Chrome 未対応
Edge 未対応
Safari 未対応
Firefox 未対応

基本構文

CSS
.bar {
  width: attr(data-width length, 100px);
  background: attr(data-color color, gray);
}

実務での使いどころ

  • データ属性に基づく動的スタイリング

    HTML の data-* 属性の値をCSSプロパティに直接マッピングし、JavaScriptなしでデータ駆動のスタイル変更を実現できます。

注意点

  • 拡張版の attr() はまだ主要ブラウザで実装されていません。現時点では content プロパティでの文字列取得のみが広くサポートされています。

アクセシビリティ

  • attr() で生成されたコンテンツはスクリーンリーダーに読み上げられる場合があります。意味のある情報はHTML側で適切に提供してください。