J'ai donc vu plusieurs façons d'assombrir les images avec CSS, y compris celles avec des coins arrondis, mais mon problème est différent.
Supposons que j'ai une image .png qui ressemble à un petit chien (allez-y, je n'ai pas de bons exemples), quand je la place sur ma page, je lui donne des dimensions de 100 x 100.
Mais je ne peux pas simplement superposer quelque chose sur celui-ci, ou teinter l’ensemble de l’image, car le fond du chien sera également teinté, ce qui est moche.
Est-il possible de teinter une image de forme arbitraire avec CSS?
(Je suppose que vous comprenez ce que je veux dire et qu'un code inutile n'est pas nécessaire)
Merci!
Vous pouvez toujours changer l'opacité de l'image, étant donné la difficulté de toute alternative, cela pourrait être la meilleure approche.
CSS:
.tinted { opacity: 0.8; }
Si vous êtes intéressé par une meilleure compatibilité de navigateur, je vous suggère de lire ceci:
http://css-tricks.com/css-transparency-settings-for-all-broswers/
Si vous êtes assez déterminé, vous pouvez le faire fonctionner aussi loin que IE7 (qui le savait!)
Remarque: Comme le souligne JGonzalezD ci-dessous, cela ne fait en réalité assombrir l'image que si la couleur d'arrière-plan est généralement plus sombre que l'image elle-même. Bien que cette technique puisse toujours être utile si vous ne souhaitez pas assombrir spécifiquement l'image, mais que vous souhaitez plutôt la mettre en surbrillance sur le survol/la mise au point/un autre état pour une raison quelconque.
Facile comme
img {
filter: brightness(50%);
}
Je voudrais faire une nouvelle image de la silhouette du chien (noir) et le reste identique à l'image d'origine. Dans le code HTML, ajoutez un div wrapper avec cette silhouette comme arrière-plan. Maintenant, rendez l'image originale semi-transparente. Le chien deviendra plus sombre et le fond du chien restera le même. Vous pouvez faire: survolez les astuces en définissant l'opacité de l'image d'origine à 100% en survol. Ensuite, le chien apparaît lorsque vous passez la souris sur lui!
style
.wrapper{background-image:url(silhouette.png);}
.original{opacity:0.7:}
.original:hover{opacity:1}
<div class="wrapper">
<div class="img">
<img src="original.png">
</div>
</div>
Solution de remplacement, dépend de la propriété -webkit-mask-image
. -webkit-mask-image
définir une image de base pour un élément.
Existem algumas dicas avec méthode:
:after
(balises IMG
pas de podem ter :before
/:after
pseudo-éléments, grr)attr(…)
pour obtenir une URL pour une balise IMG
name__, qui a été codifiée sans code CSS distinct.Il est conseillé de consulter tous les problèmes, mais aussi de choisir une solution. Nos filtres SVG seront disponibles dans les formats disponibles. Cliquez sur le lien suivant pour obtenir plus de détails et une plus grande variété de données (sans changer de contenu depuis Android 2.x).