Table Cell 1:1 ratio for height at %-width - css

I've got a Table with % width and tds with % width. Also table-layout: fixed.
I want the tds height to be 1:1 ratio to %-width.
I can't use td:before {content: ""; display: block; margin-top: 100%;} because that would throw off the positioning of td content and I can't edit the html. So i used it in tr, which leads to the actual problem of the :before being displayed as table cell.
Any ideas on how to fix that or other ways to get the 1:1 ratio?
Here is a fiddle: jsfiddle
And here the internal code snippet, didn't find where to enable SCSS.
table {
width: 100%;
line-height: 31px;
table-layout: fixed;
thead tr: last-child th {
background: blue;
color: white;
&: first-child {
border-top-left-radius: 4px;
}
&:last-child {
border-top-right-radius: 4px;
}
}
tbody {
text-align: center;
td {
width: 14.2857142857%;
position: relative;
box-shadow: inset 1px -1px 0px 0px gray;
&: last-child {
box-shadow: inset 1px -1px 0px 0px gray, inset -1px 0px 0px 0px gray;
}
& .header {
position: absolute;
top: 0.2vw;
left: 0.2vw;
line-height: 11px;
padding: 8px;
font-size: 12px;
}
& .event {
background: blue;
border-radius: 4px;
margin: 35px 4px 4px 4px;
& ~ .event {
margin: 4px;
}
& a:link,
& a:visited,
& a:hover,
& a:active {
color: white;
}
& a:hover {
text-decoration: underline;
}
}
}
.today .header {
color: white;
background: blue;
}
tr {
&: nth-child(odd) .days: nth-child(odd) {
background: gray;
}
&:nth-child(even) .days:nth-child(even) {
background: gray;
}
&:before {
content: "";
display: block;
margin-top: 100%;
}
}
}
}
<table class="calendar">
<thead>
<tr>
<th colspan="2" class="head previous"> </th>
<th colspan="3" class="head current">October 2014</th>
<th colspan="2" class="head next"> </th>
</tr>
<tr>
<th class="label col_first">Mon<span>day</span>
</th>
<th class="label">Tue<span>sday</span>
</th>
<th class="label">Wed<span>nesday</span>
</th>
<th class="label">Thu<span>rsday</span>
</th>
<th class="label">Fri<span>day</span>
</th>
<th class="label weekend">Sat<span>urday</span>
</th>
<th class="label col_last weekend">Sun<span>day</span>
</th>
</tr>
</thead>
<tbody>
<tr class="week_0 first">
<td class="days empty col_first">
<div class="header"> </div>
</td>
<td class="days empty">
<div class="header"> </div>
</td>
<td class="days">
<div class="header">1</div>
</td>
<td class="days">
<div class="header">2</div>
</td>
<td class="days">
<div class="header">3</div>
</td>
<td class="days weekend">
<div class="header">4</div>
</td>
<td class="days weekend col_last">
<div class="header">5</div>
</td>
</tr>
<tr class="week_1">
<td class="days col_first">
<div class="header">6</div>
</td>
<td class="days">
<div class="header">7</div>
</td>
<td class="days">
<div class="header">8</div>
</td>
<td class="days">
<div class="header">9</div>
</td>
<td class="days today">
<div class="header">10</div>
</td>
<td class="days weekend">
<div class="header">11</div>
</td>
<td class="days active weekend col_last">
<div class="header">12</div>
<div class="event cal_1 upcoming"> Rauchen
</div>
<div class="event cal_1 upcoming"> Toilette
</div>
<div class="event cal_1 upcoming"> Spülen
</div>
<div class="event cal_1 upcoming"> Essen
</div>
<div class="event cal_1 upcoming"> Schlafen
</div>
</td>
</tr>
<tr class="week_2">
<td class="days col_first">
<div class="header">13</div>
</td>
<td class="days">
<div class="header">14</div>
</td>
<td class="days">
<div class="header">15</div>
</td>
<td class="days">
<div class="header">16</div>
</td>
<td class="days">
<div class="header">17</div>
</td>
<td class="days weekend">
<div class="header">18</div>
</td>
<td class="days weekend col_last">
<div class="header">19</div>
</td>
</tr>
<tr class="week_3">
<td class="days col_first">
<div class="header">20</div>
</td>
<td class="days">
<div class="header">21</div>
</td>
<td class="days">
<div class="header">22</div>
</td>
<td class="days">
<div class="header">23</div>
</td>
<td class="days">
<div class="header">24</div>
</td>
<td class="days weekend">
<div class="header">25</div>
</td>
<td class="days weekend col_last">
<div class="header">26</div>
</td>
</tr>
<tr class="week_4 last">
<td class="days col_first">
<div class="header">27</div>
</td>
<td class="days">
<div class="header">28</div>
</td>
<td class="days">
<div class="header">29</div>
</td>
<td class="days">
<div class="header">30</div>
</td>
<td class="days">
<div class="header">31</div>
</td>
<td class="days empty weekend">
<div class="header"> </div>
</td>
<td class="days empty weekend col_last">
<div class="header"> </div>
</td>
</tr>
</tbody>
</table>

Ok I did it like this now:jsfiddle
Put the before in the td and just gave the first .event -80% margin top.
& .event {
margin: -80% 4px 4px 4px;
td:before {
content: "";
display: block;
margin-top: 100%;
}

Related

Why does the nth-child color not work in markdown++ viewer?

I have the following code:
<style>div.versions_table tr td { padding: 0px 20px }</style>
<style>div.versions_table tr th { padding: 0px 20px }</style>
<style>div.versions_table tr:nth-child(even) {background-color: gray}</style>
<div class="versions_table" >
| Title | Another|
|:----------|:------------|
*aaa* | *bbb*
*bbb* | *AAA*
*bbb* | *AAA*
*bbb* | *AAA*
*bbb* | *AAA*
*lala* | <span style="background-color:yellow">*bababa*</span>
</div>
Which generates the following:
So, that makes me understand that:
- Classes work, as the padding is applied.
- Styles of background-color work, because the yellow one is displayed.
- tr:nth-child(even) is somehow not working
But if I export the output to html:
<style>div.versions_table tr td { padding: 0px 20px }</style>
<style>div.versions_table tr th { padding: 0px 20px }</style>
<style>div.versions_table tr:nth-child(even) {background-color: gray}</style>
<div class="versions_table">
<table>
<thead>
<tr>
<th style="text-align: left;">Ttitle</th>
<th style="text-align: left;">Another</th>
</tr>
</thead>
<tbody>
<tr>
<td style="text-align: left;">
<em>aaa</em>
</td>
<td style="text-align: left;">
<em>bbb</em>
</td>
</tr>
<tr>
<td style="text-align: left;">
<em>bbb</em>
</td>
<td style="text-align: left;">
<em>AAA</em>
</td>
</tr>
<tr>
<td style="text-align: left;">
<em>bbb</em>
</td>
<td style="text-align: left;">
<em>AAA</em>
</td>
</tr>
<tr>
<td style="text-align: left;">
<em>bbb</em>
</td>
<td style="text-align: left;">
<em>AAA</em>
</td>
</tr>
<tr>
<td style="text-align: left;">
<em>bbb</em>
</td>
<td style="text-align: left;">
<em>AAA</em>
</td>
</tr>
<tr>
<td style="text-align: left;">
<em>lala</em>
</td>
<td style="text-align: left;">
<span style="background-color:yellow">
<em>bababa</em>
</span>
</td>
</tr>
</tbody>
</table>
</div>
So I don´t know if it is some kind of bug in markdown++ or is something that I am missing. Because I can not export to PDF using those colors

Email not formatted as Html

I’ve set up the POST SMTP plugin, and I’m getting the emails. However its not arriving as HTML format, even though Post SMTP log shows it as a HTML. The content of the email is correct, only problem it shows as plain text. Any idea how can i fix this?
Code that sends the email is:
add_filter( 'wp_mail_content_type', 'set_html_content_type' );
try { wp_mail($to, $subject, $this->getResult()); }
catch (Exception $e) { $result = false; }
remove_filter( 'wp_mail_content_type', 'set_html_content_type' );
function set_html_content_type() {
return 'text/html';
}
Here is the email I get:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html lang="hu">
<head>
<meta charset="utf-8" />
<meta name="author" content="DYB Group - http://dyb.hu/" />
<meta name="Description" content='' />
<title>i-Cell díjbekérő</title>
</head>
<body>
<table cellpadding="0" cellspacing="0" border="0" width="98%" style="background:#f4f4f4; font-family: Arial; font-size: 16px; color:#404040; text-align:center; table-layout:fixed;">
<tr style="line-height:0px;">
<td> </td>
<td width="1000" height="80" >Dokumentum letöltése PDF formátumban:kattintson ide</td>
<td> </td>
</tr>
<tr>
<td> </td>
<td width="1000" style="background:#fff; line-height:24px;">
<table width="1000" cellpadding="0" cellspacing="0" border="0" style="border-bottom:2px solid #ccc; text-align:left; table-layout:fixed;">
<tr>
<td> </td>
<td width="800" style="font-family: Arial; vertical-align:middle;">
<h1 style='text-align: left; text-transform:uppercase; color:#666; font-size:24px; font-family: Verdana; vertical-align:middle;'>
<img src="http://icell.hu/mail/fejlec.jpg" alt="i-Cell" height="60px">
Díjbekérő
</h1>
<table style="width: 100%; table-layout:fixed;">
<tr>
<td style="border: 1px solid #ccc; white-space: nowrap; padding:20px;" valign="top" width='50%'>
<h2 style='text-transform:uppercase; color:#f36f21; font-size:18px; font-weight:normal; font-family: Verdana;'>Szállító</h2>
<p>
<strong style="font-size: 18px;">i-Cell Kft</strong><br />
<span style="font-size: small;">1143 Budapest</span><br />
<span style="font-size: small;">Hungária köz 5.</span><br />
<span style="font-size: small;">Adószám: 11756420-2-42</span><br />
<span style="font-size: small;">Cégj. szám: 01-09-674965</span><br />
<span style="font-size: small;">Bank neve: MKB Bank Zrt.</span><br />
<span style="font-size: small;">SWIFT: MKKBHUHB</span>
</p>
</td>
<td style="border: 1px solid #ccc; padding:20px" valign="top">
<h2 style='text-transform:uppercase; color:#f36f21; font-size:18px; font-weight:normal; font-family: Verdana;'>Vevő</h2>
<p>
<strong style="font-size: 18px;">Tóth András</strong><br />
<span style="font-size: small;">Ország: Magyarország</span><br />
<span style="font-size: small;">Székhely: 1112, Budapest, Löveg utca 3/f, 2/2</span><br />
<span style="font-size: small;">Szállítási cím: Magyarország: 1112, Budapest, Löveg utca 3/f, 2/2</span><br />
<span style="font-size: small;">Adószám: 0123456789</span><br />
<span style="font-size: small;">E-mail: totand92#gmail.com</span><br />
<span style="font-size: small;">Mobilszám: 203169271</span><br />
<span style="font-size: small;">Fizetési mód: Banki átutalás</span><br />
</p>
</td>
</tr>
</table>
<table style="width: 100%; table-layout:fixed;">
<tr>
<td style="text-align: center; padding-top:20px;">
<span style="font-size:16px; text-transform:uppercase; color:#f36f21; margin-top:20px; font-family: Verdana;">Díjbekérő sorszáma</span>
</td>
<td style="text-align: center; padding-top:20px;">
<span style="font-size:16px; text-transform:uppercase; color:#f36f21; margin-top:20px; font-family: Verdana;">Díjbekérő kelte</span>
</td>
<td style="text-align: center; padding-top:20px;">
<span style="font-size:16px; text-transform:uppercase; color:#f36f21; margin-top:20px; font-family: Verdana;">Fizetési határidő</span>
</td>
</tr>
<tr>
<td style="text-align: center;"><span style="font-size: small;">D18/2775</span></td>
<td style="text-align: center;"><span style="font-size: small;">2018-08-14</span></td>
<td style="text-align: center;"><span style="font-size: small;">2018-08-21</span></td>
</tr>
</table>
<div>
<table style="width: 100%; text-align:left; table-layout:fixed;" cellpadding="4">
<tr>
<td style="background:#f5f5f5; border: 1px solid #ccc; text-align: center; padding: 2px;">
<span style="font-size: small;"><strong>Termék neve</strong></span>
</td>
<td style="background:#f5f5f5; border: 1px solid #ccc; text-align: center; padding: 2px;">
<span style="font-size: small;"><strong>Mennyiség (db)</strong></span>
</td>
<td style="background:#f5f5f5; border: 1px solid #ccc; text-align: center; padding: 2px;">
<span style="font-size: small;"><strong>Egységár (HUF)</strong></span>
</td>
<td style="background:#f5f5f5; border: 1px solid #ccc; text-align: center; padding: 2px;">
<span style="font-size: small;"><strong>Nettó összesen (HUF)</strong></span>
</td>
<td style="background:#f5f5f5; border: 1px solid #ccc; text-align: center; padding: 2px;">
<span style="font-size: small;"><strong>ÁFA kulcs (%)</strong></span>
</td>
<td style="background:#f5f5f5; border: 1px solid #ccc; text-align: center; padding: 2px;">
<span style="font-size: small;"><strong>ÁFA (HUF)</strong></span>
</td>
<td style="background:#f5f5f5; border: 1px solid #ccc; text-align: center; padding: 2px;">
<span style="font-size: small;"><strong>Bruttó összesen (HUF)</strong></span>
</td>
</tr>
<tr>
<td style="border: 1px solid #ccc; text-align: center; padding: 2px;">
<span style="font-size: small;"><strong>OBU S550</strong></span>
</td>
<td style="border: 1px solid #ccc; text-align: center; padding: 2px;">
<span style="font-size: small;">1</span>
</td>
<td style="border: 1px solid #ccc; text-align: center; padding: 2px;">
<span style="font-size: small;">29900</span>
</td>
<td style="border: 1px solid #ccc; text-align: center; padding: 2px;">
<span style="font-size: small;">29900</span>
</td>
<td style="border: 1px solid #ccc; text-align: center; padding: 2px;">
<span style="font-size: small;">27</span>
</td>
<td style="border: 1px solid #ccc; text-align: center; padding: 2px;">
<span style="font-size: small;">8073</span>
</td>
<td style="border: 1px solid #ccc; text-align: right; padding-right: 20px;">
<span style="font-size: small;">37973</span>
</td>
</tr>
<tr>
<td style="border: 1px solid #ccc; text-align: center; padding: 2px;">
<span style="font-size: small;"><strong>Kiszállítási költség</strong></span>
</td>
<td style="border: 1px solid #ccc; text-align: center; padding: 2px;">
<span style="font-size: small;">1</span>
</td>
<td style="border: 1px solid #ccc; text-align: center; padding: 2px;">
<span style="font-size: small;">0</span>
</td>
<td style="border: 1px solid #ccc; text-align: center; padding: 2px;">
<span style="font-size: small;">0</span>
</td>
<td style="border: 1px solid #ccc; text-align: center; padding: 2px;">
<span style="font-size: small;">27</span>
</td>
<td style="border: 1px solid #ccc; text-align: center; padding: 2px;">
<span style="font-size: small;">0</span>
</td>
<td style="border: 1px solid #ccc; text-align: right; padding-right: 20px;">
<span style="font-size: small;">0</span>
</td>
</tr>
</table>
<table style="width: 100%; margin-bottom: 0; table-layout:fixed;">
<tr>
<td style="background-color: #f36f21; width: 60%; padding-left: 20px; height:40px;">
<span style="font-size: 16px; color:#fff">
<strong>Számlaszám: (HU11) 10300002-10590929-49020015</strong>
</span>
</td>
<td style="background-color: #f36f21; width: 40%; padding-left: 20px; height:40px;">
<span style="font-size: 16px; color:#fff"><strong>Fizetendő: 37973 HUF</strong></span>
</td>
</tr>
</table>
</div>
<table>
<tr>
<td align="center" style="font-size: small; padding-bottom: 1em; text-decoration: underline;">
<strong>
Amennyiben az Ön cége EU tagországbeli, akkor kérjük, fokozottan ügyeljen az EU adószám pontos megadására! Hibásan megadott EU adószám esetén sajnos nincs módunkban ÁFA mentes számlát küldeni, így ebben az esetben a számlán fel fogjuk számítani a magyar törvények szerinti 27 % ÁFA-t!
</strong>
</td>
</tr>
<tr>
<td align="center" style="font-size: small; padding-bottom: 1em; text-decoration: underline;">
<strong>A díjbekérő fizetési kötelezettséget nem tartalmaz!</strong>
Jelen díjbekérő ÁFA visszaigénylésre nem jogosít.
</td>
</tr>
<tr>
<td align="center" style="font-size: small; padding-bottom: 1em;">
Kérjük, hogy a megrendelt termékek ellenértékeként utalja át a jelen Díjbekérőn szereplő összeget az i-Cell Kft. számlaszámára.
<strong style="color:#f36f21">Kérjük fizetéskor – a banki megjegyzés rovatban - mindig hivatkozzon a díjbekérő (vagy az OBU) sorszámára!</strong>
A pénzügyi teljesítést követően a számlát a megrendelt termékekkel együtt küldjük ki.
</td>
</tr>
<tr>
<td align="center" style="font-size: small; padding-bottom: 1em;">
A pontatlan adatmegadás (szállítási cím, értesítési mobil szám) miatt a termékek ismételt kézbesítéséből származó esetleges pluszköltség a Vevőt terheli.
</td>
</tr>
<tr>
<td align="center" style="font-size: small; padding-bottom: 1em;">
Magyarországon belüli termék kiszállítás esetén a szállítás díját 10.000 Ft feletti megrendelés esetén az i-Cell Kft. fizeti, a Vevő részére díjmentes.
</td>
</tr>
<tr>
<td align="center" style="font-size: small; padding-bottom: 1em;">
Külföldre történő szállítás esetén a kiszállítási díjat a Vevő fizeti. A kiszállítási díj a termékekkel együtt kerül kiszámlázásra.
</td>
</tr>
</table>
</td>
<td> </td>
</tr>
<tr>
<td> </td>
<td width="800" height="80">
</td>
<td> </td>
</tr>
</table>
</td>
<td> </td>
</tr>
<tr>
<td> </td>
<td width="1000" style="background-color:#e8e8e8; text-align:center;">
<table width="1000" cellpadding="0" cellspacing="0" border="0" style="font-size: 14px; font-family: Arial; text-align:center; table-layout:fixed;">
<tr>
<td> </td>
<td width="800" height="30"> </td>
<td> </td>
</tr>
<tr>
<td> </td>
<td width="800" height="20" valign="top" style="line-height:10px; border-bottom:1px solid #ccc;">
<h2 style='font-size:18px; font-weight:normal; color:#f36f21;'>i-Cell Kft.
</td>
<td> </td>
</tr>
<tr>
<td> </td>
<td width="800" height="28" valign="bottom" style="line-height:22px;">
<b>Cím:</b> 1143 Budapest Hungária köz 5. <b style='margin-left:20px'>E-mail: </b>info#icell.hu <b style='margin-left:20px'>Tel.:</b> +36 (1) 467 1750
<td> </td>
</tr>
<tr>
<td> </td>
<td width="800" height="100">
<img src="http://icell.hu/mail/lablec.png" alt="i-Cell" width="800px">
</td>
<td> </td>
</tr>
<tr>
<td height="25"> </td>
<td> </td>
<td> </td>
</tr>
</table>
</td>
<td> </td>
</tr>
<tr>
<td> </td>
<td width="1000" height="65" valign="bottom" style="text-align:center; font-size:11px; line-height:15px; color:#404040;">
Ez az e-mail az i-Cell Kft. rendszeréből lett kiküldve.<br>
A rendszerben lévő adatokat bizalmasan kezeljük, harmadik fél számára nem adjuk ki.
</td>
<td> </td>
</tr>
<tr>
<td height="55"> </td>
<td> </td>
<td> </td>
</tr>
</table>
</body>
</html>
So I've managed to solve this. Thing what finally worked is:
add_filter( 'wp_mail_content_type', function () { return 'text/html'; } );
try { wp_mail($to, $subject, $this->getResult()); }
catch (Exception $e) { $result = false; }
You need to remove following lines as remove filter also gets registered on the go.
remove_filter( 'wp_mail_content_type', 'set_html_content_type' );

Point a arrow next to a specific table row

How can I point the arrow the 'here' row?
I have try putting it in a td tag but makes the row bigger.
https://jsfiddle.net/6vx6033y/
<table cellpadding="4" cellspacing="0" border="0" align="center">
<tr>
<td style=" text-align: right;">test:</td>
<td style=" text-align: left;">-$15.00</td>
</tr>
<tr>
<td style=" text-align: right;">test:</td>
<td style=" text-align: left;">here</td>
</tr>
<tr>
<td style=" text-align: right;">test:</td>
<td style=" text-align: left;">$15.00 </td>
</tr>
<div class="arrow">↙</div>
</table>
you can also use a pseudo element: https://jsfiddle.net/6vx6033y/1/
tr.arrow:after {
content:' \2199';
position:absolute;
font-size:1.5em;
color:red
}
td {
border:solid;
}
<table cellpadding="4" cellspacing="0" border="0" align="center">
<tr>
<td style=" text-align: right;">test</td>
<td style=" text-align: left;">-$15.00</td>
</tr>
<tr>
<td style=" text-align: right;">test:</td>
<td style=" text-align: left;">$0.00</td>
</tr>
<tr class="arrow">
<td style=" text-align: right;">test:</td>
<td style=" text-align: left;">$15.00 </td>
</tr>
<tr>
<td style=" text-align: right;">tset:</td>
<td style="text-align: left;">$0.00</td>
</tr>
</table>
<td style=" text-align: left;">$15.00 <span class="arrow">&#8601</span></td>
https://jsfiddle.net/eceen7z4/
you can play with nth-child properties, like that:
.arrow2 TR:nth-child(2) TD:nth-child(2):after {
color: red;
content: "↙";
}
<table class="arrow2">
<tr>
<td style=" text-align: right;">test:</td>
<td style=" text-align: left;">-$15.00</td>
</tr>
<tr>
<td style=" text-align: right;">test:</td>
<td style=" text-align: left;">here</td>
</tr>
<tr>
<td style=" text-align: right;">test:</td>
<td style=" text-align: left;">$15.00 </td>
</tr>
</table>

Non-Standard Free Width Height HTML Table

I'm trying to get an HTML markup that represents the following table layout:
I tried this but it's not working:
<table border="1">
<tr>
<td style="height: 800px">
1
</td>
<td style="width: 300px; height: 400px">
2
</td>
</tr>
<tr>
<td style="height: 200px">
<p>3</p>
</td>
<td style="height: 600px">
4
</td>
</tr>
</table>
This looks pretty close to the image you provided. It's a little tricky because it actually requires 3 rows, but once you get your head wrapped around rowspan, then it makes sense.
<table border="1">
<tr style="height: 200px;">
<td style="width: 400px;" rowspan="2">
1
</td>
<td style="width: 200px;">
2
</td>
</tr>
<tr style="height: 200px;">
<td rowspan="2">
4
</td>
</tr>
<tr style="height: 50px;">
<td>
<p>3</p>
</td>
</tr>
</table>
You just need to add another row and add rowspans:
<table border="1">
<tr>
<td style="width: 300px; height: 400px" rowspan="2">
1
</td>
<td style="width: 300px; height: 200px">
2
</td>
</tr>
<tr>
<td style="height: 200px" rowspan="2">
4
</td>
</tr>
<tr>
<td style="height: 100px">
3
</td>
</tr>
</table>
See jsfiddle: http://jsfiddle.net/mt009cha/
EDIT
Do you have to use tables? This seems more like a layout and divs might be more appropriate.
Html:
<div class="container">
<div class="left">
<div style="height: 498px">1</div>
<div style="height: 98px">3</div>
</div>
<div class="right">
<div style="height: 298px">2</div>
<div style="height: 298px">4</div>
</div>
</div>
CSS:
div {
border: 1px solid black;
}
.container {
width: 600px;
height: 600px;
}
.left {
width: 398px;
height: 100%;
float: left;
}
.right {
width: 198px;
height: 100%;
float: right;
}
See jsfiddle: http://jsfiddle.net/zynt5j7e/
FIDDL
If you must use tables:
<table class="tbl">
<tr>
<td>
<table>
<tr>
<td style="height: 800px">
<p>top left</p>
</td>
</tr>
<tr>
<td style="height: 200px">
<p>bottom left</p>
</td>
</tr>
</table>
</td>
<td>
<table>
<tr>
<td style="height: 400px">
<p>top left</p>
</td>
</tr>
<tr>
<td style="height: 600px">
<p>bottom left</p>
</td>
</tr>
</table>
</td>
</tr>
</table>
Some CSS:
.tbl, .tbl table { border-collapse: collapse; width:100%; }
.tbl td, .tbl table td{ border:1px solid black; padding:0; margin: 0; }

Strange CSS Border Issue in Chrome

I have written an application from which you can write checks and I have the following markup on one of the pages to view and edit some of the fields of the check.
#CheckInformation {
border: 1px solid #aaa;
padding: 10px;
background-color: #E2F0F9;
margin-top: 15px;
}
#CheckInformation #PropertyAddress {
font-size: .87em;
width: 200px;
float: left;
text-align: center;
}
#CheckInformation .label-column {
width: 100px;
}
#CheckInformation .payto-col {
width: 570px;
}
#CheckInformation .line {
border-bottom: 1px solid #aaa;
}
#CheckInformation #PayTo {
width: 540px;
}
#CheckInformation #Address {
width: 200px;
height: 45px;
}
#CheckInformation #Memo {
width: 400px;
}
#CheckInformation #NumberWords {
margin: 3px;
font-style: italic;
}
<link href="https://cdnjs.cloudflare.com/ajax/libs/normalize/3.0.3/normalize.min.css" rel="stylesheet" />
<div id="CheckInformation">
<table>
<tr>
<td class="top" colspan="2" rowspan="2">
<div id="PropertyAddress">
1234 Main St
<br />Some city, State 50000
</div>
</td>
<td class="text-right label-column">Date</td>
<td>
<input type="text"></input>
</td>
</tr>
<tr>
<td class="text-right">Check Number</td>
<td>
<input type="text"></input>
</td>
</tr>
<tr>
<td>Pay to</td>
<td class="payto-col line">
Some person
</td>
<td class="text-right">Amount</td>
<td class="text-right line">
70.00
</td>
</tr>
<tr>
<td></td>
<td class="line" colspan="3">
<div id="NumberWords">Zero Dollars & Zero Cents</div>
</td>
</tr>
<tr>
<td class="top">Address</td>
<td colspan="3">
<div id="Address">
1234 Main St
<br />Some city, State 50000
</div>
</td>
</tr>
<tr>
<td>Memo</td>
<td colspan="3">
<input type="text"></input>
</td>
</tr>
</table>
</div>
It is supposed to have a bottom border on the tds that displays who the check was written to and the amount but not on the labels for those cells. It actually sees to appear correctly in IE and FireFox but in Chrome, I get a bottom border under the Amount label as well.
Running IE 9, FireFox 6.0.2, and Chrome 16.0.912.63
Anyone else see the issue?
Adding table{border-collapse:separate} seems to fix it but I don't know why. I'll update the answer if I figure out more.

Resources