昨年、いわゆるモダンブラウザのすべてでサポートされるようになったコレ。
<div>
Here be <span>Dragons</span>!
</div>
<style>
div {
color: gold;
& > span {
color: deepskyblue;
}
}
</style>
Svelteのstyle
ブロックでも使えるっけ?という話。
v4系で書かれたアプリを先んじてv5対応しようとしてた時、
Expected a valid CSS identifier
ってエラーが出てて、なんでそんなところで?ってなったので調べてみたというわけ。
A. バージョンによる
この記事を書いてる時点では、svelte@4.x
なら基本的なものは使える。(もちろんブラウザがサポートしてれば)
ただし、現時点のsvelte@5.x
では使えない。それを実装した(とされる)PRがまだマージされてないから。
feat: CSS Nesting implementation by AlbertMarashi · Pull Request #9549 · sveltejs/svelte https://github.com/sveltejs/svelte/pull/9549
といってる中の人のコメントがあったし、手元でもそういう挙動だった。
どうやらv5
ではcss-tree
を使わなくなって、正規表現で地道にパースするようになったらしい。
座して待ちましょう。