CSS変数
CSS Custom Properties CSS Variables #CSS
CSS カスタムプロパティはパラメータの夢を見るか
https://codepen.io/kumazo/pen/ZvEzJe
code:ok.js
node.style.setProperty(key, val)
これでjsから設定できる
code:ng.js
node.stylekey = val
この方法だと普通のcssは登録できるがCSS変数は無理
styleの中には入るっぽいんだけど反映はされない
Elmはこの方法でinline cssを反映しているのでCSS変数が反映されない
モチベーション
code:html
<div class="column4 color-red">
こういうclass名がいやだ
css書くにあたって関数みたいにパラメータ渡したいときは、sassとかで書いてクラス名に直接数字付けてるのをよく見る
CSS変数を使うと、あるstyleを適用するとき(class名を付けるとき)に、外から引数を渡す感じで書けるようになる
コンパイラが引数チェックしてくれるわけじゃないんですが、あるクラスを適用しているときにCSS変数を指定する、なら静的にチェックできると思う
そもそもclassの存在確認とかチェックするツールあるのか?
プログラマティックにCSSが適用できちゃう。できちゃう気がする
CSS Animationで特に効果発揮する
ちょっとずつパラメータ変えてアニメーションしたいときよい
ワークアラウンド
Elmではしょうがないのでinlineじゃない方法でやる
class名指定でやる方法
code:CSS
.var-n-10 {
--n : 10
}
このclass名を使う
これをやりたくないんですよ
sassとかで書くことになると思う
なんかこれでもいい気がしてきた。ただsass導入してないので
なんらかの方法でstyleタグ生成してそこに書く
style-elementsでこの方法でやってる
code:Elm
elm-cssもその場にstyleタグを生成するっぽいのでいけそう
けどstyle-elementsと共存できなさそう