2017-09-26 15 views
2

JavaScriptでie11のカスタムCSSプロパティをポリラインで埋め込む方法はありますか? 私はロードを考えていました。ブラウザがカスタムプロパティをサポートしているかどうかをチェックし、そうでない場合はプロパティを検索して置き換えます。ie11のCSSカスタムプロパティpolyfill

これはJavaScriptやライブラリで可能ですか?

おかげ

答えて

0

あなたは、あなたのJavaScriptをバンドルしているかについては言及しなかったが、はい、それは可能です。たとえば、PostCSSにはpluginがあり、この機能はポリフィリングされます。

使用方法は、スクリプトファイルのバンドル方法によって異なります。 WebPACKのでは、たとえば、あなたはあなたのpostcssの設定でこのプラグインを定義したいか、あなたのWebPACKのconfigの下にプラグインとしてそれをインポートします。

// webpack.config.js: 
module.exports = { 
    module: { 
    rules: [ 
     { 
      test: /\.css$/, 
      use: ["style-loader", "css-loader", "postcss-loader"] 
     } 
    ] 
    } 
} 

// postcss.config.js 
module.exports = { 
    plugins: [ 
    require('postcss-custom-properties'), 
    require('autoprefixer'), 
    // any other PostCSS plugins 
    ] 
} 

プラグインはまた、(別のノードのスクリプトとして)プログラムによる使用のための例があります:

// dependencies 
var fs = require('fs') 
var postcss = require('postcss') 
var customProperties = require('postcss-custom-properties') 

// css to be processed 
var css = fs.readFileSync('input.css', 'utf8') 

// process css using postcss-custom-properties 
var output = postcss() 
    .use(customProperties()) 
    .process(css) 
    .css 
+0

注意**ない**ポリフィルを。 PostCSSは、カスタムプロパティを含むCSSファイルを無しで変換します。その後、変換されたCSSをWebサーバーにデプロイします。 – Peter

0

Webcomponentsライブラリには、(特に)カスタムプロパティ/ CSS変数サポートがIE11に提供されるポリフィルがあります。ライブラリ全体は、カスタムHTML要素、HTMLインポート、およびシャドウDOMをポリフィルするので、非常に多くのことに注意してください。限り、あなたが唯一のルートレベルのカスタムプロパティを処理する必要があるとして

https://www.webcomponents.org/polyfills

https://github.com/WebComponents/webcomponentsjs

関連する問題