2017-09-26 10 views
2

Existe-t-il un moyen de pollyfill une propriété CSS personnalisée pour ie11 avec JavaScript? Je pensais au chargement, vérifiez si le navigateur prend en charge les propriétés personnalisées et sinon faites une sorte de trouver et remplacer sur les propriétés.Propriétés personnalisées CSS polyfill pour ie11

Est-ce possible avec JavaScript ou avec une bibliothèque?

Merci

Répondre

0

Vous ne l'avez pas dit à quel point vous votre JavaScript flottage, mais oui, il est possible. Par exemple, PostCSS a un plugin, qui polyfills cette fonctionnalité.

L'utilisation dépend de la façon dont vous regroupez vos fichiers de script. Avec Webpack, par exemple, vous définissez ce plugin dans votre config postcss ou l'importer en tant que plug-in sous votre config webpack:

// 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 
    ] 
} 

Le plugin a aussi un exemple pour une utilisation programmatique (comme un script de nœud séparé) :

// 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

Notez que c'est ** pas ** un polyfill. PostCSS transforme votre fichier CSS qui contient des propriétés personnalisées en un sans. Après cela, vous déployez le CSS transformé sur le serveur web. – Peter