28172 sujets

CSS et mise en forme, CSS3

Bonjour,

Je souhaite cacher une partie d'un tableau en fonction d'une condition, je n'y arrive pas avec un div.

C'est ok avec un display: none sur une balise tr, mais je dois appliquer display: none sur toutes les balises, en finalité, il y en aura une dizaine.


<?php $inventaire = 'Non'; ?>
<tr <?php if($inventaire != 'Oui') {echo 'style="display: none"';} ?>>
<td colspan="2" class="center"><strong>Données d'inventaire</strong></td>
</tr>
<tr <?php if($inventaire != 'Oui') {echo 'style="display: none"';} ?>>
<td><strong>Utilisateur</strong></td>
<td>Tartempion</td>
</tr>


Mais si j'utilise une balise div de la façon suivante, cela ne fonctionne pas

<?php $inventaire = 'Non'; ?>
<div <?php if($inventaire != 'Oui') {echo 'style="display: none"';} ?>>
<tr>
<td colspan="2" class="center"><strong>Données d'inventaire</strong></td>
</tr>
<tr>
<td><strong>Utilisateur</strong></td>
<td>Tartempion</td>
</tr>
</div>


Je suis en phase de test, il est bien entendu que ce code ne restera pas tel quel.

Certainement une propriété css que je ne connais pas qui fait que l'on ne peut pas cacher un élément div au sein d'un tableau ?.

Quelqu'un aurait une idée ?

Merci d'avance

Patrice
Modifié par jzik (08 Apr 2013 - 16:04)
C'est assez normal, un div ne peut pas être un enfant d'un tbody

Au lieu de produire les lignes en display:none, ne les produit pas, c'est plus simple.
Bonjour,

Merci pour la réponse, effectivement, je vais opter pour cette solution, cad, ne pas produire les lignes.

Merci