How can I hide an HTML table row <tr> so that it takes up no space? I have several <tr>'s set to style="display:none;", but they still affect the size of the table and the table's border reflects the hidden rows.
How can I hide an HTML table row <tr> so that it takes up no space? I have several <tr>'s set to style="display:none;", but they still affect the size of the table and the table's border reflects the hidden rows.
Can you include some code? I add style="display:none;" to my table rows all the time and it effectively hides the entire row.
I would really like to see your TABLE's styling. E.g. "border-collapse"
Just a guess, but it might affect how 'hidden' rows are being rendered.
Thought I'd add to this a potential other solution:
<tr style='visibility:collapse'><td>stuff</td></tr>
I've only tested it on Chrome but putting this on the <tr> hides the row PLUS all the cells inside the row still contribute to the widths of the columns. I will sometimes make an extra row at the bottom of a table with just some spacers that make it so certain columns can't be less than a certain width, then hide the row using this method. (I know you're supposed to be able to do this with other css but I've never gotten that to work)
Again, I'm in a purely chrome environment so I have no idea how this functions in other browsers.
If display: none; doesn't work, how about setting height: 0; instead? In conjunction with a negative margin (equal to, or greater than, the height of the top and bottom borders, if any) to further remove the element? I don't imagine that position: absolute; top: 0; left: -4000px; would work, but it might be worth a try.
For my part, using display: none works fine.
Add some of the following line-height:0px;font-size:0px;height:0px;margin:0;padding:0;
I forget which one does it. I think it's line-height for IE6.
I was having the exact same problem; I'm making a leaderboard thing that can display different difficulty highscores by pressing buttons.
But after screwing around for the better part of 2 hours, I found out some stuffs:
You can use this code to hide with a button press (JavaScript):
document.getElementById('mytr').style='display:none;';
Show with a button press:
document.getElementById('mytr').style='display:table-row;';
Start off hidden (To later bring back with button press):
<tr id='mytr'style='display:none;'>
Hope this helped!
P.S.
You can also show & hide headers in a similar way, only to show the header instead of writing 'display:table-row;' you write 'display:table-header;'.
This can also be used to change row into headers & headers into rows.