CSSでlight-dark()
関数を使う場合、多くの場合は:root
でcolor-scheme
プロパティーを指定しておく。SVGではsvg
要素などでstyle
属性を使い、color-scheme
プロパティーを書いておく。style
要素でも良いが、ほぼ全て視覚表現のためのSVGでは、HTMLと違ってコードの断片化となり、書きづらいだろう。color-scheme
属性というものはない(ようだが、変わるかもしれない)。
<svg
xmlns="http://www.w3.org/2000/svg"
...
style="color-scheme: light dark;">
<path
d="..."
fill="light-dark(black, white)"/>
</svg>
SVGでカラー・スキームに応答するためには、これまではstyle
要素にCSSとしてまとめざるを得なかった。メディア・クエリーを書かなくてはならないからだ。light-dark()
関数が使えるようになると、オブジェクトそれぞれのfill
属性などに直接書け、style
要素が不要になる。また、そうなることでオブジェクトそれぞれがカラー・スキームに応答することが明確になる。