Je viens vers vous car je suis confronté à un problème.
J'ai converti toutes les images de mon site en SVG. Pour les images qui comportaient un effet d'ombre porté, je ne peux pas convertir cet effet en SVG, j'ai donc appliqué un style drop-shadow en CSS. Jusque là pas de problème. J'ai donc décidé d'aller plus loin et de convertir mon background-image en SVG
Mon problème : Je n'arrive pas à appliquer correctement un drop-shadow aux elements de l'image de mon background
Voici un drop-shadow réussi sur une de mes images :
c'était assez simple car la class cible l'ensemble de l'image.
Et voici ce que ça donne sur mon background-image :
L'effet ne s'applique pas autour de l'image mais à l'intérieur de l'image. C'est plus compliqué car je ne cible pas l'image en entier mais un element qui compose l'image.
Voici le bout du code qui cible la partie de l'image :
Le problème c'est que j'aimerais que mon background-image reste dans mon css car quand je le bascule en html mon background-size: cover ne fonctionne plus . Et je n'ai pas réussi à convertir ce que tu me proposes en css..
Oui c’est vrai, je t’explique : Je fais les tests dans le HTML pour ne pas complexifier encore plus le code SVG, ensuite je converti ce code HTML en CSS à l’aide d’un outil en ligne pour ensuite l’intégrer dans mon backgroud-image.
Ah ! Ouhla ! J'ai jamais fait ça donc je sais pas si je vais pouvoir t'aider... Mais la balise filtre se met dans la balise svg, ton outil en ligne peut pas le convertir ?
Parce que si tu fait ton bg sur Illustrator par exemple et que tu l'enregistre en svg, je sais pas si ça pourrait être une solution...
Mon bg je l’ai fait sur Illustrator, mais les ombres portées ne peuvent pas être converties en SVG.
Sinon en dernier recours j’ai essayé de lier dans le code SVG les ombres portées en .png en enregistrant le fichier SVG avec l’option « lier ». Ça fonctionne bien en HTML mais en CSS c’est toujours le même problème je ne peux pas appeler les fichiers.
Sinon j'ai la solution avec illustrator d'enregistrer avec l'option "incorporer". Ca génère un genre de code pour mes ombres portées directement dans le code SVG mais le problème c'est que je passe de 115 lignes de code à 815 lignes.. (avant compression) Est-ce qu'il y a une grande incidence si je mets 815 lignes pour un background-image dans mon CSS vous pensez ? Sachant qu'en contre partie je n'ai plus à charger mon image de base JPG qui faisait environ 100KO
Il n'y a pas de mauvais navigateur, il n'y a que du mauvais code !