web-dev-qa-db-fra.com

Pourquoi visible = "false" ne fonctionne pas pour une table HTML simple?

La propriété visible de la table html ne fonctionne pas. 

Pourquoi ont-ils cette propriété si elle est défectueuse? Je devais utiliser style="visibility:hidden" afin de cacher une table. 

S'il vous plaît expliquer pourquoi. Je suis très curieux

Voici le code que j'utilise. L'intention est de cacher la table dans son ensemble mais pas de cacher la table ou les contrôles à l'intérieur

<table visible="false">
  <tr>
    <td >
      <label>Pick the color for action needed and paste it on textbox</label>
    </td>
    <td>
      <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
    </td>
    <td>
      <asp:Button ID="Button1" runat="server" Text="Apply color" />
    </td>
  </tr>
</table>
13
Enggr

Utilisez display: none à la place. En outre, c'est probablement ce dont vous avez besoin, car cela tronque également la page en supprimant l'espace occupé par la table, alors que visibility: hidden laisse l'espace blanc laissé par la table.

23
Chris C

Vous êtes probablement à la recherche de style="display:none;" qui masquera totalement votre élément, alors que la visibilité le cache tout en gardant la place à l'écran qu'il faudrait ...

UPDATE: visible n'est pas une propriété valide en HTML, c'est pourquoi cela n'a pas fonctionné ... Voir ma suggestion ci-dessus pour masquer correctement votre élément html

11
Leon

Si vous voulez l'utiliser, utilisez runat="server" pour cette table. Après cela, utilisez tablename.visible=False dans le code côté serveur.

2
san797

visibilité: hidden est la syntaxe appropriée, mais une autre façon de "masquer" le tableau consiste à afficher: aucun ou dynamiquement avec JQuery:

$('#myTable').hide()
1
Pastor Bones

Pour un poste similaire il y a longtemps, il semble être problématique de masquer la visibilité des tableaux. 

Vous avez deux options, la première consiste à utiliser l'attribut display:none.

Ou deux enveloppent la table dans une div et la cachent.

<div id="wrapper" style="visibility:hidden">
    <table>
        <tr>
            <td>
            Content
            </td>
        </tr>
    </table>
</div>
1
Matt Seymour

Pour la meilleure pratique - utilisez style="display:"

ça marchera partout .. 

1
pedram

La raison pour laquelle visible = "false" ne fonctionne pas, c'est que HTML est défini en tant que norme par un groupe de consortium. La norme pour l'élément Table n'a pas de propriété de visibilité définie.

Vous pouvez voir toutes les propriétés valides d'une table en allant à la page Web standards pour les tables. 

Cette page peut être un peu difficile à lire, alors ici est un lien vers une autre page qui facilite la lecture. 

0
M Akin

Qui "ils"? Je ne pense pas qu'il y ait d'attribut visible dans html.