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.
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.
Réponses:
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.
Vous pouvez définir <tr id="result_tr" style="display: none;">
et ensuite l'afficher avec JavaScript:
var result_style = document.getElementById('result_tr').style;
result_style.display = 'table-row';
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.
Si display: none;
cela ne fonctionne pas, que diriez-vous de régler à la height: 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 que position: 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.
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] -->
Vous pouvez utiliser l'affichage de style: aucun avec tr pour masquer et cela fonctionnera avec tous les navigateurs.
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
<input type="hidden" name="" id="" value="">
tant que le type d'entrée est défini sur cela, vous pouvez modifier le reste. Bonne chance!!
HTML:
<input type="checkbox" id="attraction" checked="checked" onchange="updateMap()">poi.attraction</input>
JavaScript:
function updateMap() {
map.setOptions({'styles': getStyles() });
}
function getStyles() {
var styles = [];
for (var i=0; i < types.length; i++) {
var style = {};
var type = types[i];
var enabled = document.getElementById(type).checked;
style['featureType'] = 'poi.' + type;
style['elementType'] = 'labels';
style['stylers'] = [{'visibility' : (enabled ? 'on' : 'off') }];
styles.push(style);
}
return styles;
}
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.
opacity: 0
Vous pouvez définir
<table>
<tr style="visibility: hidden"></tr>
</table>
visibility: hidden;
l'élément prendra encore de la place, c'est la différence entre visibility
et display
propriétés
<table><tr style="display: none;"><td></td></tr></table>