Rechercher : dans
Par :

XHTML CSS et a:hover + img

Dernière réponse le 3 jun 2007 à 22:14:39 crou, le 3 jun 2007 à 19:09:08 
 Signaler ce message aux modérateurs

Bonjour,

Dans mon css, j'ai mis:

a:hover {
color : #ffffff;
text-decoration : none;
background-color : #4c0000;
font-style : normal;
}

Ce qui signifie que le lien aura un background plutot rouge (4c0000). Mais dans la ban j'ai voulu mettre un lien menant a l'index. Et a cause de ce a:hover je n'arrive pas a enlever ce background rouge qui s'affiche juste derriere l'image.

J'ai voulu créer un img{ ... } mais quoi que je mette a part border-width: 0; il ne veut rien entendre et laisse ce background.

Avez vous une idée pour le retirer ?
Merci d'avance.

Configuration: Windows XP
Firefox 2.0.0.4

Meilleures réponses pour « XHTML CSS et a:hover + img » dans :
Les CSS pour présenter vos images VoirPour présenter agréablement vos images, vous pouvez intégrer quelques codes supplémentaires dans votre CSS et vous en servir à bon escient. Elles sont bien sur modulables en fonction de la charte graphique de votre site. Utilisation Mettez les codes...

1

gryzzly, le 3 jun 2007 à 19:19:26

Salut,
autour d'une image avec lien, le seul moyen que je connaisse pour enlever la bordure, c'est effectivement le border 0px (car par défaut à 1)

Répondre à gryzzly

2

crou, le 3 jun 2007 à 19:50:42

Qu'est ce que tu veux dire par la ?
dans img:

border : 0; ?
Exemple:

img {
border-width : 0;
border : 0;
}

Ca ne fonctionne pas :/
J'ai effectivement (comme avant ) pas la bordure autour. Mais dès que je passe la souris j'ai en bas seulement de la page (avec IE et Firefox) Une bordure rouge comme sur les liens comme si c'était un texte.

Merci

Répondre à crou

3

gryzzly, le 3 jun 2007 à 19:57:27

Dans tous les cas, il faut rajouter px ou em ou autre pour des valeurs...
mais en l'occurence, me suis peut etre trompé, essaye avec

border : none;

Répondre à gryzzly

4

crou, le 3 jun 2007 à 20:03:21

Même chose:
j'ai l'impression que le a:hover est au dessus de ça et que pour le changer il faudrait faire en sorte que ce hover agisse après la bannière.

Sinon, je ne vois, peut-être as tu une autre idée?

Répondre à crou

5

gryzzly, le 3 jun 2007 à 20:10:06

Donnes le code html de la page avec... que je vois comment tu as construit la page, ou un lien!

Répondre à gryzzly

6

Dalida, le 3 jun 2007 à 21:05:53

Salut,

je confirme, pour enlever la bordure d'une image contenue dans un lien il faut bien :

img{
border: none;
}

ou {border-width: 0;}, l'unité est inutile.

mais pour l'histoire d'arrière plan, sans le code…
[ Mathieu ]
Il y a surement des pandas pour ne dépendre de rien…

Répondre à Dalida

7

crou, le 3 jun 2007 à 21:48:01

J'ai donné la partie du code qui gènere le background-color sur l'image. Mais voici tout le code source:

Exemple.html

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xml:lang="fr" xmlns="http://www.w3.org/1999/xhtml" >

	<head>
	<title>Un titre</title>
	<style type="text/css" media="screen">@import "style.css";</style>
	</head>
	<body>
	<p>Une ban:
	<a href="index.html"><img src="http://www.google.fr/intl/fr_fr/images/logo.gif" alt="Test"/></a>
	</p>
	
	<p>Un lien:
	<a href="#">Un lien!</a>
	</p>
	</body>
	
</html>

(Bon il est pas xhtml w3c validator only pour l'exemple) :]

et le style.css:
html {
position : absolute;
overflow : scroll;
}

body {
height : 50px;
font-family : Arial;
}

img {
border-width : none;
border : none;
border-style: none;
}

a:link {
color : red;
text-decoration : none;
font-weight : normal;
font-style : normal;
}

a:visited {
color : red;
text-decoration : none;
font-weight : normal;
font-style : normal;
}

a:hover {
color : #ffffff;
text-decoration : none;
background-color : green;
font-style : normal;
}

a:active {
color : green;
text-decoration : none;
font-style : normal;
}


Voila.
Si vous testez, vous remarquerez une barre en dessous du logo de google ! c'est cette barre que je veux retirer, et les a:* me gene :(

Merci de votre aide.

Répondre à crou

8

Dalida, le 3 jun 2007 à 22:10:45

L'image est décalée vers le haut.
à défaut de corriger cela, tu peux appliquer une règle de style spécifique au moyen d'une classe :

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xml:lang="fr" xmlns="http://www.w3.org/1999/xhtml" >

	<head>
	<title>Un titre</title>
	<style type="text/css" media="screen">
		img {
		border : none;
		}
		a:link {
		color : red;
		text-decoration : none;
		font-weight : normal;
		font-style : normal;
		}
		a:visited {
		color : red;
		text-decoration : none;
		}
		a:hover {
		color : #ffffff;
		text-decoration : none;
		background-color : green;
		font-style : normal;
		}
		a:active {
		color : green;
		text-decoration : none;
		}
		a.image:hover{
		background-color:transparent;
		}
	</style>
	</head>
	<body>
	<p>Une ban:
	<a href="index.html" class="image"><img width="276px" height="110px" src="http://www.google.fr/intl/fr_fr/images/logo.gif" alt="Test"/></a>
	</p>
	
	<p>Un lien:
	<a href="#">Un lien!</a>
	</p>
	</body>
	
</html>


ps : les autres règles sont à mon avis inutiles.
[ Mathieu ]
Il y a surement des pandas pour ne dépendre de rien&hellip;

Répondre à Dalida

9

 crou, le 3 jun 2007 à 22:14:39

Merci de la réponse, ca marche.
Les autres règles ne sont pas inutiles dans la page que je construis. Ca m'aide beaucoup. Décidément, les CSS c'est puissant.

résolu !
a++ !

Répondre à crou