Vous avez raison de dire que background-size
n'est pas pris en charge sur un certain nombre de navigateurs plus anciens.
La solution typique à ceci est de le simuler en utilisant <div>
supplémentaire ou même un élément <img>
placé derrière l'élément que vous voulez avoir l'arrière-plan. Cela peut être réalisé simplement en utilisant un balisage supplémentaire, mais cette solution présente l'inconvénient de l'utiliser pour tous les navigateurs, au lieu de la propriété background-size
. En d'autres termes, cela signifie délibérément dégrader votre code pour les vieux navigateurs, ce qui n'est pas idéal.
Si vous souhaitez utiliser la propriété CSS pour les navigateurs qui le prennent en charge, vous pouvez utiliser un peu de Javascript pour générer le balisage ci-dessus, mais uniquement si nécessaire. Cela signifie que les navigateurs modernes peuvent utiliser heureusement background-size
, et seuls les anciens navigateurs utiliseront la solution de repli.
Il existe un certain nombre de solutions Javascript à ce disponible sur le web (un google rapide a révélé ce qui suit: http://css-tricks.com/766-how-to-resizeable-background-image/ entre autres), mais plus important encore, vous devez savoir comment le déclencher en fonction du navigateur.
C'est là qu'intervient Modernizr. La description que vous avez donnée de Modernizr dans la question n'est pas tout à fait exacte. Ce qu'il fait est de produire un ensemble de classes CSS dans votre balise HTML et des variables correspondantes dans votre Javascript qui représentent toutes les fonctionnalités du navigateur. Ce sont des drapeaux booléens indiquant si le navigateur actuel est compatible. Ainsi, avec Modernizr, vous pouvez vérifier en Javascript si le navigateur prend en charge background-size
ou non, et ne lancez la fonction javascript alternative que si elle ne le supporte pas.
if(!Modernizr.backgroundsize) {
//do stuff here to simulate the background-size property for older browsers.
}
Espérons que ça aide.
s'il vous plaît être plus spécifique avec *** anciens navigateurs ***, IE6? FF4? Quelle est la liste de navigateurs de votre cible? – rlemon