stylusでOldIEの記述やりたい話
created at:
この記事は公開から1年以上が経過しています。内容が一部古い箇所があります。
stylus便利なのでもうピュアなcssを書きたくないのですが、かねてから気になってた問題と解決法を記載。
Old IE 問題
Old IEっていうよりかはfilterの記述法についてです。
通常の書き方だとこう書きたくなります。
filter: progid:DXImageTransform.Microsoft.DropShadow(color=#ffffff,offx=1,offy=1)
しかしエラーを吐く。
expected "indent", got "outdent"
どうすんだよとのことなので調べました。
解決法
http://stylus-lang.com/docs/selectors.html#disambiguationの最下部でこういう記載。
filter unquote('progid:DXImageTransform.Microsoft.BasicImage(rotation=1)')
上にならって書き直してみる。
filter: unquote("progid:DXImageTransform.Microsoft.DropShadow(color=#ffffff,offx=1,offy=1)")
うまくいきます。unquoteで括れば良いとのことです。なるほど。
新たなる問題
gulpfile.js
で単にstylus
使うだけの設定ならいいんですが、gulp-pleeeaseを設定しているとこんなことが起きます。
何故。。。
今考えられる解決策
というわけでこのpleeease問題ですがパッと考えたところで以下の解決策です。
- pleeease使うのをやめる
- pleeeaseでfilter設定とかOld IE設定とかなんとかでゴリ押す(未確認)
- stylusを捨てる
- IE対応させようとしたクライアントを
殴り説得しに行く
出来る限り平和的解決を望んでいますが、どなたか良い方法があれば教えて下さい。
こちらからは以上です。