Comment puis-je masquer une ligne de tableau HTML <tr>
afin qu'elle ne prenne aucun espace? J'ai mis plusieurs <tr>
à style="display:none;"
, mais ils affectent toujours la taille de la table et la bordure de la table reflète les lignes cachées.
html
css
html-table
MikeN
la source
la source
Réponses:
J'aimerais vraiment voir le style de votre TABLE. Par exemple, "border-collapse"
Juste une supposition, mais cela pourrait affecter la façon dont les lignes «cachées» sont rendues.
la source
Pouvez-vous inclure du code? J'ajoute
style="display:none;"
à mon tableau des lignes tout le temps et cela masque efficacement la ligne entière.la source
Vous pouvez définir
<tr id="result_tr" style="display: none;">
et ensuite l'afficher avec JavaScript:la source
Je pensais que j'ajouterais à cela une autre solution potentielle:
<tr style='visibility:collapse'><td>stuff</td></tr>
Je ne l'ai testé que sur Chrome, mais le mettre sur la ligne
<tr>
cache PLUS toutes les cellules à l'intérieur de la ligne contribuent toujours à la largeur des colonnes. Je vais parfois créer une ligne supplémentaire en bas d'un tableau avec juste quelques espaceurs qui font que certaines colonnes ne peuvent pas être inférieures à une certaine largeur, puis masquer la ligne en utilisant cette méthode. (Je sais que vous êtes censé pouvoir le faire avec d'autres css mais je n'ai jamais réussi à faire fonctionner cela)Encore une fois, je suis dans un environnement purement chromé, donc je n'ai aucune idée de comment cela fonctionne dans d'autres navigateurs.
la source
Si
display: none;
cela ne fonctionne pas, que diriez-vous de régler à laheight: 0;
place? En conjonction avec une marge négative (égale ou supérieure à la hauteur des bordures supérieure et inférieure, le cas échéant) pour supprimer davantage l'élément? Je n'imagine pas queposition: absolute; top: 0; left: -4000px;
cela fonctionnerait, mais cela vaut peut-être la peine d'essayer.Pour ma part, l'utilisation
display: none
fonctionne très bien.la source
Ajoutez une partie de la hauteur de ligne suivante: 0px; font-size: 0px; height: 0px; margin: 0; padding: 0;
J'oublie lequel le fait. Je pense que c'est la hauteur de la ligne pour IE6.
la source
J'avais le même problème, j'ai même ajouté style = "display: none" à chaque cellule.
Au final, j'ai utilisé des commentaires HTML
<!-- [HTML] -->
la source
Vous pouvez utiliser l'affichage de style: aucun avec tr pour masquer et cela fonctionnera avec tous les navigateurs.
la source
fonctionne parfaitement pour moi ..
la source
Cela m'est arrivé et j'étais perplexe quant à la raison. Ensuite, j'ai remarqué que si je supprimais tout nbsp; j'avais dans les rangées, puis les rangées ne prenaient aucun espace.
la source
Vous devez mettre le changement du type d'entrée sur masqué, toutes ses fonctions fonctionnent mais ce n'est pas visible sur la page
tant que le type d'entrée est défini sur cela, vous pouvez modifier le reste. Bonne chance!!
la source
J'avais le même problème et j'ai résolu le problème. Les css précédents étaient débordés: caché; indice z: 999999;
Je le change en débordement: visible;
la source
HTML:
JavaScript:
la source
position: absolute
le supprimera du flux de mise en page et devrait résoudre votre problème - l'élément restera dans le DOM mais n'affectera pas les autres.la source
opacity: 0
Vous pouvez définir
la source
visibility: hidden;
l'élément prendra encore de la place, c'est la différence entrevisibility
etdisplay
propriétés<table><tr style="display: none;"><td></td></tr></table>