CSSに `if()` インライン条件文が追加予定
(lea.verou.me)- 先週、CSS WG はインライン
if()を CSS に追加することを決定した - これまで何度も却下されてきた提案だが、今回はスタイルクエリと
media()およびsupports()構文を参照する形で受け入れられた - 開発者の反応は非常に好意的だった。ブラウザがこの機能を優先事項としてロードマップに追加することが期待されている
if() の用途は? スタイルクエリの代替になるのか?
- スタイルクエリを補完する役割を持つ。スタイルクエリが使える場合は、そちらを使う方がよい
- ただし、スタイルクエリではできないこともある。たとえば
--variantカスタムプロパティを使って背景色、境界線の色、テキスト色、アイコンなどを設定する場合 - スタイルクエリは子要素にしか適用できないため、要素自身に宣言を設定できない
- プレゼンテーション属性には、柔軟性、簡潔さ、一貫性などの面で問題がある
if()を使えば、要素自身に宣言を設定できる- メディアクエリやサポート条件も
if()の条件構文に含めることができる
現在ブラウザに実装されているのか?
- まだブラウザには実装されていない
- 楽観的に見ても、実装までは少なくとも 2 年ほどかかると予想される
- 現時点では機能についての合意が成立しただけで、実装段階ではない
CSS で条件付き構文は初めてか?
- CSS には当初から条件付き構文があった。すべてのセレクタが条件付き構文の一種である
@media、@supportsルールも条件付き構文である
これによって CSS は命令型言語になるのか?
- 命令型と宣言型の違いは、ロジックではなく抽象化のレベルにある
- 条件付きロジックが追加されても、CSS は依然として宣言型言語である
これによって CSS はプログラミング言語になるのか?
- CSS はすでに長いあいだプログラミング言語と見なすことができた
- CSS をプログラミング言語と見る基準は重要ではない
- "重要なのは、CSS に関する専門性が正当に認められることだ"
"いくつもの有名なプログラミング言語と CSS を知っている人なら誰でも分かるように、CSS の方が習得するのははるかに難しい"
7件のコメント
そのうち CSS で Doom を…!
これは何だよwwwwwwwwwww
CSSは本当に、学んでも学んでも終わりがない気がします。難しすぎる方向に進んでいるんじゃないかと思ってしまいますね…。
HTMLでUIを作ると決めた報いのスノーボールが、またしても大きくなる瞬間ですね。
これはCSSなのか…JavaScriptなのか……CSSScriptなのか…
個人的には、ちょっとやりすぎではないかと思います……