I'm working on a website where I need to show/hide table rows. I got the feature working, but the CSS gets bad when I do show. I'm providing a working link; click the 'More...' link and see the action for an example. I'm using jQuery's toggle(slow)
for hiding and showing
I have a page built using tables:
If you see the section right side of image where the tick marks are there. After the tick mark the section moves to right hand side. This happened when I did put a code to show/hide the extra features.. any solution for this problem?
what problems are you having?
The page seems to display correctly in IE8. In Chrome and in FF the problem is that
display: block
elements inside a table make the browser render the table wrong if there are elements withoutdisplay: block
as well. A solution is either todisplay: block
to the firsttbody
element already (this is far the easiest solution)display: none
from the.extra_properties
when showing the extra rows (and leaving thedisplay: block
off as well) ordisplay: table-row-group
when showing. It's to be noted, thatdisplay-row-group
doesn't work in IE, though.OK, I found the problem. You have two
tbody
tags in the table. This is correct. However, when you use jQuery to show/hide the table, it applies adisplay: block
attribute to thetbody
tag which causes browser to render it incorrectly.Use jQuery to change the display CSS attribute as follows:
display: none
to hide the "more properties" sectiondisplay: table-row-group
to show the "more properties" sectiondisplay
to empty string to let browser show the section the way it should be