2013-07-22 4 views
2

css J'ai une image définie comme un arrière-plan comme sivol stationnaire img sur fond image

.about { 
    height: 351px; 
    background-image:url("../images/about.png"); 
    background-position:center; 
    background-repeat:no-repeat; 
} 

Et je suis en train de l'utilisateur: hover

.about:hover { 
    background-image:url("../images/hover.png"); 
} 

pour afficher une autre image sur le dessus . Je veux que l'image originale soit toujours là car l'image de survol est transparente.

Cette façon de remplacer l'image, est-il possible de ne pas la remplacer, mais de passer la souris sur l'image d'origine?

Répondre

3

Vous avez besoin d'un masque ou d'un élément à l'intérieur de votre élément .about (ou positionné de manière absolue dessus). Le masque a l'image de survol comme arrière-plan, mais a visibility:hidden. Ensuite, lorsque l'élément .about est dans l'état stationnaire, il active le masque. .about:hover .about-mask {visibility: visible;}. Astuce Pro: en utilisant visibility:hidden au lieu de display:none permet au navigateur de charger l'image, même si ce n'est pas visible, donc vous n'aurez pas de scintillement.

http://jsfiddle.net/nDHbD/

+0

Les deux à peu près la même réponse, mais des félicitations supplémentaires pour l'exemple, mais aussi l'amour du peu de connaissances sur le chargement de l'image. Mille de plus! – Sjrsmile

2

Vous pouvez placer un div au-dessus de l'un, puis l'afficher sur son image: hover, de cette façon, les deux images s'afficheront. Encore mieux, vous pouvez animer une transition sur votre nouveau div pour que tout se passe bien.

+0

Cela pourrait fonctionner, mais si l'effet de vol stationnaire serait utilisé sur plus d'une image? Vous auriez à appeler chaque div Hover un nom différent, sinon ils montreraient tous quand vous survolez un? – Sjrsmile

+1

Pas nécessairement. L'effet: hover pourrait juste être sur le positionnement, (comme: padding-top: 350px), avec les différentes images placées dans le div comme tags. De cette façon, vous pouvez créer une classe générale pour vos divs: hover et leur faire afficher un contenu différent. –

+0

http://jsfiddle.net/SE6NY/ Et c'est le violon avec un contenu différent sur votre div hover. :) –

Questions connexes