28173 sujets

CSS et mise en forme, CSS3

Bonjour,

je cherche à afficher/masquer des lignes d'un tableau en fonction du choix sélectionné dans une liste déroulante (avecun peu de javascript derrière).

J'utilise pour cela la propriété

visibility: collapse;

Ca fonctionne très bien sous FFx, mais pas sous IE (j'ai testé sous IE6 et IE7).
Il y a bien la possibilité de mettre

hidden

au lieu de

collapse

mais ça laisse un espace vide et ça ne me satisfait pas du tout.

Comment faire pour reproduire l'effet d'un collapse sous IE ?

Merci à ceux qui liront ainsi qu'à ceux qui répondront.

Philippe
Bonjour,

L'implémentation de visibility: collapse est problématique, car partielle ou inexistante avec Firefox 1.0, Internet Explorer 7, et Safari 2 (et sans doute d'autres... pas trouvé l'info pour Opera).

En l'état, il est donc préférable d'utiliser display: none pour «supprimer» une ligne de tableau.

Il faudra par contre l'annuler correctement ensuite, et là ça n'est pas forcément évident:
- la plupart des navigateurs auront besoin d'un display: table-row (pour un tr);
- IE voudra un display: block (faut pas chercher à comprendre...).

Une solution que je viens de voir évoquée est, en Javascript, de définir la propriété display avec une valeur vide, ce qui fait que les navigateurs utiliseraient leurs valeurs par défaut respectives. À confirmer...