Normally I like to provide explanations for what is going on. Given that this is a rather lengthy post, I am going to omit that this time. This should be looked at as a template of how to build a more complex table. If someone actually wants to hear the rational, just let me know.
Let's break this in to several chunks just to see the code a little bit more clearly. Of course, all of the code will be in a table tag. The style used for the table is width 977px and margin-top 10px. First, let's look at the header.
<tr class="trHeader"> <td class="tdNoStyle"></td> <td rowspan="2" style="width: 157px;">Pizza</td> <td rowspan="3" style="width: 157px;">Assetts You May Give</td> <td colspan="2" style="width: 269px;">Your bake if you eat</td> <td rowspan="3" style="width: 253px;">Expectations & Exceptions</td> </tr> <tr class="trHeader"> <td class="tdNoStyle"></td> <td rowspan="2" style="width: 137px; vertical-align: bottom">In-House</td> <td rowspan="2" style="width: 131px; vertical-align: bottom">Out-Of-House</td> </tr> <tr class="trHeader"> <td class="tdNoStyle"></td> <td rowspan="2" style="width: 157px;">Planned Event</td> </tr> <tr class="trHeader"> <td class="tdNoStyle"></td> <td style="width: 293px;"></td> <td style="width: 137px;">Provisions</td> <td style="width: 131px;">Provisions</td> <td style="width: 253px;"></td> </tr>
The first section:
<tr> <td></td> <td class="col1bkGrnd">If you meant pizza</td> <td class="rowStyle1">Pizza/Sandwich options and services</td> <td class="rowStyle1">$20 slice*</td> <td class="rowStyle1">30% sandwich</td> <td class="rowStyle1">-----none-----</td> </tr> <tr> <td></td> <td class="col1bkGrnd">pizza, sandwich</td> <td class="rowStyle5">Pizza/Sandwich options and services</td> <td class="rowStyle5">20% insurance</td> <td class="rowStyle5">30% insurance</td> <td class="rowStyle5">-----none-----</td> </tr> <tr> <td></td> <td rowspan="2" class="col1bkGrnd">toppings or veggies</td> <td class="rowStyle4"></td> <td class="rowStyle4"></td> <td class="rowStyle4"></td> <td class="rowStyle4"></td> </tr> <tr> <td></td> <td class="rowStyle1">Pizza/Sandwich options and services</td> <td class="rowStyle1">$20 slice*</td> <td class="rowStyle1">30% sandwich</td> <td class="rowStyle1">-----none-----</td> </tr> <tr> <td></td> <td class="col1bkGrnd, col1BrdrBtm">needs</td> <td class="rowStyle4">Pizza/Sandwich options and services</td> <td class="rowStyle4">20% insurance</td> <td class="rowStyle4">30% insurance</td> <td class="rowStyle4">-----none-----</td> </tr>
The second section:
<tr> <td></td> <td class="col1bkGrnd"></td> <td class="rowStyle1">Premium slices and sandwiches are highly recommended</td> <td class="rowStyle1">$20 slice*</td> <td class="rowStyle1">30% insurance</td> <td class="rowStyle1">-----none-----</td> </tr> <tr> <td></td> <td rowspan="2" class="col1bkGrnd">For a private visit</td> <td class="rowStyle4">Special visit</td> <td class="rowStyle4">$20 slice*</td> <td class="rowStyle4">30% insurance</td> <td class="rowStyle4">-----none-----</td> </tr> <tr> <td></td> <td class="rowStyle3"></td> <td class="rowStyle3">Artichoke: Not</td> <td class="rowStyle3">Artichoke: Not</td> <td class="rowStyle3"></td> </tr> <tr> <td></td> <td class="col1bkGrnd">and private tour</td> <td class="rowStyle3">Special visit and tour</td> <td class="rowStyle3">included</td> <td class="rowStyle3">included</td> <td class="rowStyle3">-----none-----</td> </tr> <tr> <td></td> <td class="col1bkGrnd">or show</td> <td class="rowStyle3"></td> <td class="rowStyle3">Pepperoni: $20</td> <td class="rowStyle3">Pepperoni: 30%</td> <td class="rowStyle3"></td> </tr> <tr> <td></td> <td class="col1bkGrnd"></td> <td class="rowStyle1"></td> <td class="rowStyle1">slice*</td> <td class="rowStyle1">insurance</td> <td class="rowStyle1"></td> </tr> <tr> <td></td> <td class="col1bkGrnd"></td> <td class="rowStyle4">Preventive damage/death/dismemberment</td> <td class="rowStyle4">No charge</td> <td class="rowStyle4">30% insurance</td> <td class="rowStyle4">-----none-----</td> </tr>
The third section:
<tr> <td></td> <td rowspan="2" class="col1bkGrnd">If you more pizza to</td> <td class="rowStyle3"></td> <td class="rowStyle3">Preferred: $10</td> <td class="rowStyle3"></td> <td class="rowStyle3"></td> </tr> <tr> <td></td> <td class="rowStyle3"></td> <td rowspan="2" class="rowStyle3">slice* at retail </td> <td class="rowStyle3"></td> <td class="rowStyle3"></td> </tr> <tr> <td></td> <td class="col1bkGrnd">treat your addiction</td> <td class="rowStyle3"></td> <td class="rowStyle3">30% insurance</td> <td rowspan="2" class="rowStyle3">31 day supply retail/93 day supply</td> </tr> <tr> <td></td> <td rowspan="2" class="col1bkGrnd">condition</td> <td rowspan="2" class="rowStyle3">Premium pizza</td> <td class="rowStyle3">slice* at mail</td> <td rowspan="2" class="rowStyle3">at retail, mail not</td> </tr> <tr> <td></td> <td rowspan="2" class="rowStyle3">Non-preferred: $45</td> <td rowspan="2" class="rowStyle3">mail order</td> </tr> <tr> <td></td> <td class="col1bkGrnd"></td> <td class="rowStyle3"></td> <td rowspan="2" class="rowStyle3">covered</td> </tr> <tr> <td></td> <td class="col1bkGrnd"></td> <td class="rowStyle3"></td> <td class="rowStyle3">slice* at retail, $90</td> <td class="rowStyle3"></td> </tr> <tr> <td></td> <td rowspan="2" class="col1bkGrnd">More information</td> <td class="rowStyle1"></td> <td class="rowStyle1">slice* at mail</td> <td class="rowStyle1"></td> <td class="rowStyle1"></td> </tr> <tr> <td class="rowStyle2"></td> <td class="rowStyle2"></td> <td class="rowStyle2"></td> <td class="rowStyle2"></td> <td class="rowStyle2"></td> </tr> <tr> <td></td> <td class="col1bkGrnd">about pizza</td> <td rowspan="2" class="rowStyle2">Preferred pizza</td> <td class="rowStyle2">$15 slice at retail,</td> <td class="rowStyle2"></td> <td class="rowStyle2"></td> </tr> <tr> <td></td> <td rowspan="2" class="col1bkGrnd">pizza addiction</td> <td rowspan="2" class="rowStyle2">$30 slice* at mail</td> <td class="rowStyle2"></td> <td class="rowStyle2"></td> </tr> <tr> <td class="rowStyle2"></td> <td class="rowStyle2"></td> <td class="rowStyle2"></td> <td class="rowStyle2"></td> </tr> <tr> <td></td> <td class="col1bkGrnd">available at www</td> <td class="rowStyle2"></td> <td class="rowStyle2"></td> <td class="rowStyle2"></td> <td class="rowStyle2"></td> </tr> <tr> <td></td> <td class="col1bkGrnd">.pizzaproblem.com</td> <td class="rowStyle4"></td> <td class="rowStyle4"></td> <td class="rowStyle4"></td> <td class="rowStyle4"></td> </tr> <tr> <td></td> <td class="col1bkGrnd">/public/pizza</td> <td class="rowStyle3"></td> <td rowspan="2" class="rowStyle3">$45 slice* at retail</td> <td class="rowStyle3"></td> <td class="rowStyle3"></td> </tr> <tr> <td></td> <td rowspan="2" class="bol1bkGrnd">addiction/help</td> <td rowpsan="2" class="rowStyle3">Non-Preferred pizza</td> <td class="rowStyle3"></td> <td class="rowStyle3"></td> </tr> <tr> <td></td> <td rowspan="2" class="rowStyle3">$10 copay* at mail</td> <td class="rowStyle3"></td> <td class="rowStyle3"></td> </tr> <tr> <td></td> <td rowspan="2" class="rowStyle3">/morepizza/index.</td> <td class="rowStyle3"></td> <td class="rowStyle3"></td> <td class="rowStyle3"></td> </tr> <tr> <td></td> <td class="rowStyle3"></td> <td class="rowStyle3"></td> <td class="rowStyle3"></td> <td class="rowStyle3"></td> </tr> <tr> <td></td> <td class="col1bkGrnd">html.</td> <td class="rowStyle1"></td> <td class="rowStyle1"></td> <td class="rowStyle1"></td> <td class="rowStyle1"></td> </tr> <tr> <td></td> <td class="col1bkGrnd"></td> <td class="rowStyle2"></td> <td class="rowStyle2"></td> <td class="rowStyle2">30% insurance</td> <td rowspan="2" class="rowStyle2">$400 minimum order</td> </tr> <tr> <td></td> <td class="col1bkGrnd"></td> <td rowspan="2" class="rowStyle2">Specialty pizza</td> <td rowspan="2" class="rowStyle2">20% insurance</td> <td rowspan="2" class="rowStyle2">at retail, mail not</td> </tr> <tr> <td></td> <td class="col1bkGrnd"></td> <td rowspan="2" class="rowStyle4">per month</td> </tr> <tr> <td></td> <td class="col1bkGrnd, col1BrdrBtm"></td> <td class="rowStyle4"></td> <td class="rowStyle4"></td> <td rowspan="2" class="rowStyle4">covered</td> </tr>
And the CSS classes:
.trHeader { background: #A9A9A9; } .thHeader > .tdNoStyle { border: none; background-color: rgb(239, 238, 239) !important; } .trHeader > td { border-left: #C0C0C0 1px solid; border-right: #C0C0C0 1px solid; padding-left: 5px; } .btnBorderHeader { border-bottom: #C0C0C0 1px solid; } .col1bkGrnd { background: #C0E8FB; padding-left: 5px; border-left: #70AFD9 1px solid; border-right: #70AFD9 1px solid; } .col1BrdrBtm { background: #C0E8FB; padding-left: 5px; border-left: #70AFD9 1px solid; border-right: #70AFD9 1px solid; border-bottom: #C0E8FB 1px solid; border-bottom: #70AFD9 1px solid; } .rowStyle1 { border-right: #70AFD9 1px solid; border-bottom: #70AFD9 1px solid; background: #EFF9FF; padding-left: 5px; } .rowStyle2 { border-right: #70AFD9 1px solid; vertical-align: bottom; padding-left: 5px; } .rowStyle3 { background: #EFF9FF; border-right: #70AFD9 1px solid; padding-left: 5px; } .rowStyle4 { border-bottom: #70AFD9 1px solid; border-right: #70AFD9 1px solid; padding-left: 5px; } .rowStyle5 { border-right: #70AFD9 1px solid; padding-left: 5px; }