28220 sujets

CSS et mise en forme, CSS3

Bonjour à tous, après avoir essayé pas mal de chose je suis dans l'impasse pour valider mon code.

Je m'explique :

J'ai un bloc à faire apparaitre lors d'un survol d'un lien, le souci est qu'il n'est pas autorisé d'avoir un bloc (ici <ul>) dans un élément en-ligne (ici <a>).

HTML :

<a href="desc.php?id={$data['id_art']}" class="affiche_infos">
	$lien
	<span class="hidden">
		<ul class="infos">
			<li class="titre_infos"><strong>{$data['libelle_art']}</strong></li>
			<li class="desc_infos">$desc</li>
			<li class="img_infos"><img src="images/$contenu" alt=""/></li>
		</ul>
	</span>
</a>


CSS :

#liste_art a .hidden {
display: none;
}

#liste_art a:hover .hidden {
position: absolute;
top: 0;
right: -340px;
padding: 0;
display: block;
}


Je n'ai pas trouvé d'alternative pour que mon code soit validé, je précise que l'effet souhaité fonctionne sur IE, FF et Opéra.

si cela peut vous aider je mets l'url du site : http://lexon.free.fr/cat.php?id=1
Modifié par waikiki (30 Nov 2005 - 17:02)
Bonjour,

Utiliser simplement javascript, qui est fait pour ça, sera simple à utiliser partout, et sera plus accessible qu'un montage CSS périlleux.
Merci pour ta réponse!

Le souci est que j'aurais voulu éviter à tout prix le javascript, je croyais qu'une solution en CSS était possible Smiley sweatdrop
Je ne suis pas très pro-javascript étant donné que l'on peut quasiment tout faire grâce au CSS et qu'il peut arriver que le Javascript soit désactivé chez certains utilisateurs, j'ai ouï dire ~10% ?!

Enfin si c'est la seule solution, je l'utiliserai, je pense Smiley smile
CSS n'est pas mieux servie que javascript : il y a sans doute au moins autant d'utilisateurs qui n'en bénéficient pas Smiley cligne

En outre, on ne peut pas quasiment tout faire avec CSS : on peut présenter une page. On peut faire quelques effets liés au survol, limités. C'est tout. Le reste est du ressort des scripts, justement.
Modifié par Laurent Denis (30 Nov 2005 - 21:46)
Je vais donc me pencher sur la réalisation de cet effet à l'aide de Javascript, une fois n'est pas coutume Smiley cligne

Merci à toi Laurent Denis Smiley smile
D'ailleurs certains estiment que :hover devrait être supprimé parceque ce n'est pas le rôle de CSS de s'occuper des comportements, mais le rôle de javascript.

a+
SirWam a écrit :
D'ailleurs certains estiment que :hover devrait être supprimé parceque ce n'est pas le rôle de CSS de s'occuper des comportements, mais le rôle de javascript.


ce qui est, pour le coup, excessif : il n'y a aucun désavantage à pouvoir gérer simplement via CSS, sans couche supplémentaire, les effets de survols sur les éléments lorsqu'il n'y a pas d'interaction entre deux éléments différents.