Je veux superposer une image avec une autre en utilisant CSS. Un exemple de ceci est la première image (l'arrière-plan si vous le souhaitez) sera un lien de vignette d'un produit, avec le lien ouvrant une lightbox / popup montrant une version plus grande de l'image.
En plus de cette image liée, je voudrais une image d'une loupe, pour montrer aux gens que l'image peut être cliquée pour l'agrandir (apparemment ce n'est pas évident sans la loupe).
Réponses:
J'ai juste fini de faire exactement cette chose dans un projet. Le côté HTML ressemblait un peu à ceci:
Puis en utilisant CSS:
J'ai laissé une grande partie de l'échantillon là-dedans sur le CSS pour que vous puissiez voir comment j'ai décidé de faire le style. Notez que j'ai réduit l'opacité pour que vous puissiez voir à travers la loupe.
J'espère que cela t'aides.
EDIT: Pour clarifier votre exemple - vous pouvez ignorer
visibility:hidden;
et tuer l':hover
exécution si vous le souhaitez, c'était juste la façon dont je l'ai fait.la source
Une technique, suggérée par cet article , serait de faire ceci:
la source
Cela fonctionne, tant que l'élément parent n'utilise pas de positionnement statique. Le simple réglage du positionnement relatif fait l'affaire. De plus, IE <8 ne prend pas en charge le sélecteur ou le contenu : before .
la source
Voici comment je l'ai fait récemment. Pas parfait sémantiquement, mais fait le travail.
la source
Vous voudrez peut-être consulter ce tutoriel: http://www.webdesignerwall.com/tutorials/css-decorative-gallery/
Dans ce document, l'écrivain utilise un élément span vide pour ajouter une image superposée. Vous pouvez utiliser jQuery pour injecter lesdits éléments span, si vous souhaitez garder votre code aussi propre que possible. Un exemple est également donné dans l'article précité.
J'espère que cela t'aides!
-Dave
la source
Si vous ne voulez que la loupe en vol stationnaire, vous pouvez utiliser
http://www.javascriptkit.com/dhtmltutors/csscursors.shtml
Si vous le souhaitez en permanence, vous devriez probablement l'inclure dans la vignette d'origine, ou l'ajouter en utilisant JavaScript plutôt que de l'ajouter au HTML (c'est purement style et ne devrait pas être dans le contenu).
Faites-moi savoir si vous avez besoin d'aide du côté JavaScript.
la source
Dans CSS3, vous pouvez effectuer les opérations suivantes:
Tiré de Puis-je avoir plusieurs images d'arrière-plan en utilisant CSS?
la source
Tout ce que nous voulons, c'est le parent au-dessus de l'enfant. Voici comment vous procédez.
Vous mettez
img
dansspan
, ensemblez-index & position
pour les deux éléments, et extradisplay
pour la durée. Ajoutez le survol pourspan
que vous puissiez le tester et vous l'avez!HTML:
CSS
la source
À moins que vous n'utilisiez la
<img>
balise, qui affiche une image seule, vous ne pourrez pas y parvenir avec du CSS pur uniquement. Vous aurez également besoin de DEUX éléments HTML - un pour chaque image. En effet, la seule façon de faire en sorte qu'un élément affiche une image via CSS est d'utiliser labackground-image
propriété, et chaque élément ne peut avoir qu'une seule image d'arrière-plan. Les deux éléments que vous choisissez et la manière dont vous les positionnez dépend de vous. Il existe de nombreuses façons de positionner un élément HTML au-dessus d'un autre.la source
Voici une bonne technique pour afficher une image de superposition centrée avec un arrière-plan semi-transparent sur un lien d'image:
HTML
CSS
la source
Voici une technique JQuery avec un fond semi-transparent.
HTML
CSS
app.js
la source