Changing
.productDescNoList, .productDesc1, .productDesc2 { display: none; }
to
.productDescNoList, .productDesc1, .productDesc2 { display: block; }
negates the purpose of this declaration, and does make
#productListing .productDescNoList {
display: none;
}
required. Actually, since in your case .productDescNoList in the listing page is the only item that wants to be turned off, the code can be simplified by just eliminating
.productDescNoList, .productDesc1, .productDesc2 { display: block; }
as it serves no purpose.
And yes, table design is very much deprecated these days. They are still appropriate for displaying tabular data, but for page layout, divs and CSS are more flexible and powerful and assist in making comprehensible code that can be displayed equally well in many different circumstances.



