28172 sujets

CSS et mise en forme, CSS3

Bonjour,

J'ai une petit question sur un signe que je rencontre de temps en temps sur des feuille style je j'examine.

Ce signe là : >

Exemple : ul.gallery > li

Savez-vous a quoi peut-il servir ? J'ai cherché sur le forum mais je vous avoues que pour cette requette il n'y a pas vraiment de résultat ?

Merci d'avance de vos renseignement. Smiley biggrin
Administrateur
Bonjour,

il s'agit de la notation pour un sélecteur d'enfant
li est un enfant de l'élément ul.gallery (et pas simplement un descendant).

Avec des listes imbriquées, tu peux ainsi cibler les <li> de 1er niveau à l'exclusion des autres.

Mauvaise nouvelle: IE6 ne comprend pas cette notation Smiley decu
Merci je me coucherais moins ... se soir. Et il n'y a pas de parade pour l'éternel IE6 ? Smiley fache

D'ailleurs j'ai une autre question qui me vient à l'esprit.

lorsque j'ai le code html suivant :

<a class="action" href="#">Ecrire</a>

<div id="d1">
<p>voir le texte</p>
</div>

et le code CSS suivant :

#d1 p {
visibility: hidden;
}

Comment faire pour afficher "voir le texte" en passant la souris sur la classe action ? Et surtout est-ce que c'est possible ?
Smiley biggrin
oui je suis d'accord, mais comme faire en sorte que l'action aille sur la DIV : id="d1" ?

En faite plus ça ma question ? Smiley cligne
nickleus a écrit :
oui je suis d'accord, mais comme faire en sorte que l'action aille sur la DIV : id="d1" ?

En faite plus ça ma question ? Smiley cligne

C'est impossible en CSS si tu souhaites conserver un marquage HTML propre.
De plus, ce genre de comportement devrait être réalisé grâce à JavaScript. Un exemple en utilisant jQuery:
[#black][b]HTML[/b][/#]

<div id="d1">
<p>Mon texte…</p>
</div>


[#black][b]JavaScript[/b][/#]

$(function(){
  var d1 = $("#d1"), hiddenText = d1.children();
  hiddenText.hide();
  d1.before(
    $(document.createElement("a"))
      .attr({href:"#",className:"action"})
      .text("Voir mon texte")
      .click(function(e){e.preventDefault();})
      .hover(
        function(){hiddenText.show()},
        function(){hiddenText.hide()}
      )
  );
});
Oui a mon avis on ne peut faire que comme cela. J'ai cherché d'autres solutions, mais lorsque l'on veux que le lien sois séparé de la balise, on est obligé de d'utilité JS.

Merci !
Modifié par nickleus (11 May 2009 - 08:32)