OVH Cloud OVH Cloud

visibilité en cascade

7 réponses
Avatar
Raphaël THERY
Bonjour,

j'ai un ensemble de paragraphes de catégories différentes contenant une
description et pour chacune une liste de fichiers. En entête de page, j'ai
des cases à cocher pour afficher/cacher les paragraphes répondant aux
différentes catégories. Le problème vient du fait que j'ai également un
indicateur qui afiche/cache les fichiers ... qui lui ne tient pas compte du
fait que le paragraphe dans lequel il est englobé est ou non affiché...
affichant des fichiers "dans le vide". Comment faire cela simplement, c'est
à dire sans faire de getElement... par ci par là ?

<p class="<categorie>">
....
<ul class="files">
</ul>
</p>

merci pour vos réponses
Raphael

7 réponses

Avatar
M. Frederic Saunier
affichant des fichiers "dans le vide".


D'aprés ce que tu décris, je crois que tu cherches la propriété CSS: `display`
Si tu écris :
UL{
display:none;
}
Les listes et les espaces qui leur correspondent ne seront pas affichées.

qui lui ne tient pas compte du fait que le paragraphe
dans lequel il est englobé est ou non affiché...


Sinon pour répondre précisemment à ta question de départ,
pour forcer une propriétés héritants des propriétés CSS
des classes parentes, tu peux utiliser:
UL{
visibility: hidden !important;


--
Frédéric SAUNIER
Certified Macromedia Flash MX Developper
ENLIVE
92100 Boulogne-billancourt
FRANCE
Tel. 01.46.94.94.46

"Raphaël THERY" a écrit dans le message de news:4072a609$0$19487$
Bonjour,

j'ai un ensemble de paragraphes de catégories différentes contenant une
description et pour chacune une liste de fichiers. En entête de page, j'ai
des cases à cocher pour afficher/cacher les paragraphes répondant aux
différentes catégories. Le problème vient du fait que j'ai également un
indicateur qui afiche/cache les fichiers ... qui lui ne tient pas compte du
fait que le paragraphe dans lequel il est englobé est ou non affiché...
affichant des fichiers "dans le vide". Comment faire cela simplement, c'est
à dire sans faire de getElement... par ci par là ?

<p class="<categorie>">
....
<ul class="files">
</ul>
</p>

merci pour vos réponses
Raphael


Avatar
Raphaël THERY
Merci pour la réponse mais je n'arrive pas à l'utiliser; voici donc un
exemple:
<html>
<head>
<style>
p.cat1 {
visibility : hidden;
position : absolute;
}
p.cat2 {
visibility : visible;
}
ul, li {
visibility : visible !important;
}
</style>
</head>
<body>
<p class="cat1">Catégorie 1<ul><li>fichier p1 cat 1</li></ul></p>
<p class="cat2">Catégorie 2<ul><li>fichier p2 cat 2</li></ul></p>
<p class="cat2">Catégorie 2<ul><li>fichier p3 cat 2</li></ul></p>
<p class="cat1">Catégorie 1<ul><li>fichier p4 cat 1</li></ul></p>
</body>
</html>
dans cet exemple ne doivent être affiché que les fichiers contenus dans les
paragraphes "cat2".

Raphael


"M. Frederic Saunier" a écrit dans le message de news:
4072b50c$0$18222$
affichant des fichiers "dans le vide".


D'aprés ce que tu décris, je crois que tu cherches la propriété CSS:
`display`
Si tu écris :
UL{
display:none;
}
Les listes et les espaces qui leur correspondent ne seront pas affichées.

qui lui ne tient pas compte du fait que le paragraphe
dans lequel il est englobé est ou non affiché...


Sinon pour répondre précisemment à ta question de départ,
pour forcer une propriétés héritants des propriétés CSS
des classes parentes, tu peux utiliser:
UL{
visibility: hidden !important;


--
Frédéric SAUNIER
Certified Macromedia Flash MX Developper
ENLIVE
92100 Boulogne-billancourt
FRANCE
Tel. 01.46.94.94.46

"Raphaël THERY" a écrit dans le message de
news:4072a609$0$19487$
Bonjour,

j'ai un ensemble de paragraphes de catégories différentes contenant une
description et pour chacune une liste de fichiers. En entête de page, j'ai
des cases à cocher pour afficher/cacher les paragraphes répondant aux
différentes catégories. Le problème vient du fait que j'ai également un
indicateur qui afiche/cache les fichiers ... qui lui ne tient pas compte


du
fait que le paragraphe dans lequel il est englobé est ou non affiché...
affichant des fichiers "dans le vide". Comment faire cela simplement,


c'est
à dire sans faire de getElement... par ci par là ?

<p class="<categorie>">
....
<ul class="files">
</ul>
</p>

merci pour vos réponses
Raphael


Avatar
Pascal Vigneron
"Raphaël THERY" a écrit dans le message
je n'arrive pas à l'utiliser; voici donc un exemple:
p.cat1 { visibility : hidden;
ul, li { visibility: visible !important; }
<p class="cat1">Catégorie 1<ul><li>fichier p1 cat 1</li></ul></p>
<p class="cat2">Catégorie 2<ul><li>fichier p2 cat 2</li></ul></p>
dans cet exemple ne doivent être affiché que les fichiers contenus dans les
paragraphes "cat2".



Alors, à quoi sert ul, li { visibility: visible ?

Hum ! Quand je vois un <ul> à l'intérieur d'un <p>
je ne m'attends à rien de bon.
C'est souvent comme s'il était en dehors du <p>.
En remplaçant p par div, on obtient autre chose.
N'est-ce pas ce que vous cherchez ?
(bon, mais je dors un peu debout, à c't'heure...)
Pascal


<html><head>
<style>
div.cat1 { display:none; }
</style>
</head><body>
<div class="cat1">Catégorie 1<ul><li>fichier p1 cat 1</li></ul></div>
<div class="cat2">Catégorie 2<ul><li>fichier p2 cat 2</li></ul></div>
<div class="cat2">Catégorie 2<ul><li>fichier p3 cat 2</li></ul></div>
<div class="cat1">Catégorie 1<ul><li>fichier p4 cat 1</li></ul></div>
</body></html>
Avatar
Marc Mongenet
Raphaël THERY wrote:
Bonjour,

indicateur qui afiche/cache les fichiers ... qui lui ne tient pas compte du
fait que le paragraphe dans lequel il est englobé est ou non affiché...
affichant des fichiers "dans le vide". Comment faire cela simplement, c'est
à dire sans faire de getElement... par ci par là ?

<p class="<categorie>">
....
<ul class="files">
</ul>
</p>



La liste n'est pas dans le paragraphe, contrairement aux apparences.
Je vous conseille l'usage d'un valideur de HTML ou d'un débuggueur
comme le DOM Inspector pour détecter ce genre de problème basique.

Marc Mongenet
Avatar
Raphaël THERY
Effectivement, votre solution est la meilleure et c'est le résultat que je
voulais.
d'un autre côté je ne pensais pas que div et p avaient un comportement
différent.
Je vous remercie beaucoup pour cette réponse.
Raphaël

"Pascal Vigneron" a écrit dans le message
de news: 4073669e$0$296$

"Raphaël THERY" a écrit dans le message
> je n'arrive pas à l'utiliser; voici donc un exemple:
> p.cat1 { visibility : hidden;
> ul, li { visibility: visible !important; }
> <p class="cat1">Catégorie 1<ul><li>fichier p1 cat 1</li></ul></p>
> <p class="cat2">Catégorie 2<ul><li>fichier p2 cat 2</li></ul></p>
> dans cet exemple ne doivent être affiché que les fichiers contenus dans


les
> paragraphes "cat2".

Alors, à quoi sert ul, li { visibility: visible ?

Hum ! Quand je vois un <ul> à l'intérieur d'un <p>
je ne m'attends à rien de bon.
C'est souvent comme s'il était en dehors du <p>.
En remplaçant p par div, on obtient autre chose.
N'est-ce pas ce que vous cherchez ?
(bon, mais je dors un peu debout, à c't'heure...)
Pascal


<html><head>
<style>
div.cat1 { display:none; }
</style>
</head><body>
<div class="cat1">Catégorie 1<ul><li>fichier p1 cat 1</li></ul></div>
<div class="cat2">Catégorie 2<ul><li>fichier p2 cat 2</li></ul></div>
<div class="cat2">Catégorie 2<ul><li>fichier p3 cat 2</li></ul></div>
<div class="cat1">Catégorie 1<ul><li>fichier p4 cat 1</li></ul></div>
</body></html>





Avatar
Raphaël THERY
C'est exact j'aurais du commencer par valider mon code ;-(, mais comme
indiqué dans le post précédant
je ne savais pas que p est div avaient un comportement différent. encore
merci
Raphaël

"Marc Mongenet" a écrit dans le message de news:
c506pt$2lc8qv$
Raphaël THERY wrote:
> Bonjour,
>
> indicateur qui afiche/cache les fichiers ... qui lui ne tient pas compte


du
> fait que le paragraphe dans lequel il est englobé est ou non affiché...
> affichant des fichiers "dans le vide". Comment faire cela simplement,


c'est
> à dire sans faire de getElement... par ci par là ?
>
> <p class="<categorie>">
> ....
> <ul class="files">
> </ul>
> </p>

La liste n'est pas dans le paragraphe, contrairement aux apparences.
Je vous conseille l'usage d'un valideur de HTML ou d'un débuggueur
comme le DOM Inspector pour détecter ce genre de problème basique.

Marc Mongenet
Avatar
Marc Mongenet
Raphaël THERY wrote:
je ne savais pas que p est div avaient un comportement différent. encore



Un certain nombre d'éléments ne peuvent contenir que du texte et
des éléments de ligne. Il y a notamment P, H1, H2, H3, H4, H5, H6,
DT, PRE, ADDRESS, CAPTION. D'autres éléments peuvent contenir
de tout, notamment DIV, TH, TD, LI, DD.

Marc Mongenet