JSFiddle - React, Tailwind, and code Playground
by oilvier
HTML
<table class="table-list">
<thead>
<tr>
<td rowspan="2" class="empty"></td>
<th rowspan="2"><abbr title="Marketplace">M</abbr></th>
<th rowspan="2"><abbr title="Prix d'achat HT">Achat</abbr></th>
<th colspan="2">Marge initiale</th>
<th colspan="5">Prix de vente</th>
<th rowspan="2"><abbr title="Commission Marketplace">Commission</abbr></th>
<th rowspan="2"><abbr title="CA après commission">CA</abbr></th>
<th rowspan="2"><abbr title="Frais de colisage">Colis</abbr></th>
<th rowspan="2"><abbr title="Coût horaire TTC">Coût H</abbr></th>
<th colspan="3">Marge</th>
</tr>
<tr class="second-line">
<th>%</th>
<th>€</th>
<th>HT</th>
<th>TTC</th>
<th>Marketplace</th>
<th>FDP client</th>
<th>FDP réels</th>
<th>TTC</th>
<th>HT</th>
<th>%</th>
</tr>
</thead>
<tbody>
<tr>
<th>Jouet 1 <br>
<em>J0632-2688</em></th>
<td class="center">Amazon.fr</td>
<td class="figure">9.4€</td>
<td class="figure">2.77%</td>
<td class="figure">26.09€</td>
<td class="figure">35.49€</td>
<td class="figure">18.4€</td>
<td class="figure">42.59€</td>
<td class="figure">49.49€</td>
<td class="figure">49.49€</td>
<td class="figure">0.42€</td>
<td class="figure">42.16€</td>
<td class="figure">1.62€</td>
<td class="figure">2.25€</td>
<td class="figure">38.29€</td>
<td class="figure">31.91€</td>
<td class="figure">4.07%</td>
</tr>
<tr>
<th>Jouet 1 <br>
<em>J0632-2688</em></th>
<td class="center">Amazon.fr</td>
<td class="figure">9.4€</td>
...
CSS
body {font-family:Arial; font-size: 12px;}
table {border-collapse: collapse; border-spacing: 0; width: 100%;}
/* Tableaux de liste */
.table-list { width:100%; border:1px solid #d1cfcf; table-layout:fixed; }
.table-list th, .table-list td { padding:2px 4px;}
.table-list td { border:1px solid #cbd3d4; background:#fff; vertical-align:middle; }
.table-list tbody tr:hover td { background:#ffffcf; }
.table-list tbody .active td { background:#5A993F; }
.table-list th {border:1px solid #d1cfcf; border-bottom:0; border-top:0; text-align:left; color:#696969;
background: #ffffff;
background: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiA/Pgo8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgd2lkdGg9IjEwMCUiIGhlaWdodD0iMTAwJSIgdmlld0JveD0iMCAwIDEgMSIgcHJlc2VydmVBc3BlY3RSYXRpbz0ibm9uZSI+CiAgPGxpbmVhckdyYWRpZW50IGlkPSJncmFkLXVjZ2ctZ2VuZXJhdGVkIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgeDE9IjAlIiB5MT0iMCUiIHgyPSIwJSIgeTI9IjEwMCUiPgogICAgPHN0b3Agb2Zmc2V0PSIwJSIgc3RvcC1jb2xvcj0iI2ZmZmZmZiIgc3RvcC1vcGFjaXR5PSIxIi8+CiAgICA8c3RvcCBvZmZzZXQ9IjUlIiBzdG9wLWNvbG9yPSIjZjRmNGY0IiBzdG9wLW9wYWNpdHk9IjEiLz4KICAgIDxzdG9wIG9mZnNldD0iODYlIiBzdG9wLWNvbG9yPSIjZTllOWU5IiBzdG9wLW9wYWNpdHk9IjEiLz4KICAgIDxzdG9wIG9mZnNldD0iMTAwJSIgc3RvcC1jb2xvcj0iI2U0ZTRlNCIgc3RvcC1vcGFjaXR5PSIxIi8+CiAgPC9saW5lYXJHcmFkaWVudD4KICA8cmVjdCB4PSIwIiB5PSIwIiB3aWR0aD0iMSIgaGVpZ2h0PSIxIiBmaWxsPSJ1cmwoI2dyYWQtdWNnZy1nZW5lcmF0ZWQpIiAvPgo8L3N2Zz4=);
background: -moz-linear-gradient(top, #ffffff 0%, #f4f4f4 5%, #e9e9e9 86%, #e4e4e4 100%);
background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#ffffff), color-stop(5%,#f4f4f4), color-stop(86%,#e9e9e9), color-stop(100%,#e4e4e4));
background: -webkit-linear-gradient(top, #ffffff 0%,#f4f4f4 5%,#e9e9e9 86%,#e4e4e4 100%);
background: -o-linear-gradient(top, #ffffff 0%,#f4f4f4 5%,#e9e9e9 86%,#e4e4e4 100%);
background: -ms-linear-gradient(top, #ffffff 0%,#f4f4f4 5%,#e9e9e9 86%,#e4e4e4 100%);
background: linear-gradient(to bottom,...