Je construis un site Web qui utilise une bonne quantité d'ombres portées et de gradients. Je peux accomplir beaucoup de cela via les propriétés box-shadow de CSS. Hélas, nous supportons toujours IE, nous avons donc besoin d'ajouter des images d'arrière-plan dans ces situations. Je pourrais être paresseux et juste donner à tous les images d'arrière-plan, mais j'essaye de rationaliser des choses pour ceux qui utilisent les navigateurs modernes. Idéalement, j'aimerais que ces utilisateurs n'aient pas à demander les images.CSS: les images sont-elles demandées si elles sont déclarées en CSS mais plus tard écrasées?
Alors, j'ajoute une classe supplémentaire via javascript si le navigateur prend en charge l'ombre de la boîte (boîte shadowSupport) et mon CSS finit par ressembler à ceci:
.box {
background: url('myImage.jpg');
}
.box-shadowSupport {
background: none;
[box shadow properties go here]
}
Si le HTML finit par ressembler à ceci:
<div class="box box-shadowSupport"></div>
L'image sera-t-elle demandée? Ou le navigateur comprend-il qu'il n'est pas nécessaire en raison du deuxième style qui l'emporte sur la propriété de l'image d'arrière-plan? Si l'image est demandée, j'ai besoin de réorganiser mes CSS et javascript donc au lieu de surcharger un style via la cascade, je vais devoir permuter les classes pour que le premier ne soit même pas référencé dans le HTML .
La capture (au moins dans ce cas) est qu'il n'y a pas de division claire entre les navigateurs IE et le reste. Dans certains cas, je suis à la recherche de navigateurs FF et WebKit. Parfois j'ajoute Opera à la liste. Etc. –
Probablement le meilleur pari est d'utiliser quelque chose comme Fiddler pour tracer les requêtes HTTP alors. Je suspecte que chaque navigateur sera différent. Regardez le violoneur ici: http: //www.fiddler2.com/fiddler2/ –