[QUOTE]Also, why do you have to set the display:table on the parent element? Isn’t it implied if the child elements are table-row?[QUOTE]
Some UA’s require this.
Note that when you set Display:table/display:table-row, etc you are actually causing the element to display as such. So, attributes that can not be applied to a table row… cant be applied to any element with display:table-row. In another words, since you cant adjust the margin for a <tr> you also cant do it for a <div style:“display:table-row”>
Otherwise you will just have to make space on the inner elements instead which I assume you have already in place.
Also, why do you have to set the display:table on the parent element? Isn’t it implied if the child elements are table-row?
Older browsers used to have problems with that and needed the complete structure but I think modern browsers are mostly ok but it does no harm to add them where you already have an element available.
Older Gecko (ff3-) used to break when display:table code was used inline without the proper structure but was fine when used in an external stylesheet.