table css3 hover
highlight hover X-Y Position
by Jens Kühn
HTML
<table cellspacing="3" cellpadding="3" class="contenttable">
<thead>
<tr class="tr-even tr-0">
<th class="td-0">Haushaltsvolumen (€)</th>
<th class="td-1">2006</th>
<th class="td-2">2007</th>
<th class="td-3">2008</th>
<th class="td-4">2009</th>
<th class="td-5">2010</th>
<th class="td-last td-6">2011</th>
</tr>
</thead>
<tbody>
<tr class="tr-odd tr-1">
<td class="td-0">Verwaltungshaushalt</td>
<td class="td-1">89.784.420</td>
<td class="td-2">94.925.160</td>
<td class="td-3">103.425.400</td>
<td class="td-4">103.625.600 </td>
<td class="td-5">92.858.230 </td>
<td class="td-last td-6">109.015.660</td>
</tr>
<tr class="tr-even tr-2">
<td class="td-0">Vermögenshaushalt</td>
<td class="td-1">20.892.060</td>
<td class="td-2">19.490.860</td>
<td class="td-3">33.789.700</td>
<td class="td-4">37.236.300 </td>
<td class="td-5">30.552.200 </td>
<td class="td-last td-6">26.283.250</td>
</tr>
<tr class="tr-odd tr-3">
<td class="td-0">Pro-Kopf-Verschuldung brutto</td>
<td class="td-1">554</td>
<td class="td-2">580</td>
<td class="td-3">512</td>
<td class="td-4">485</td>
<td class="td-5">636</td>
<td class="td-last td-6">902</td>
</tr>
<tr class="tr-even tr-4">
<td class="td-0"> </td>
<td class="td-1">31.12.2005</td>
<td class="td-2">31.12.2006</td>
<td class="td-3">31.12.2007</td>
<td class="td-4">31.12.2008</td>
<td class="td-5">31.12.2009</td>
<td class="td-last td-6">31.12.2010</td>
</tr>
<tr class="tr-odd tr-5">
<td class="td-0">Hebesätze</td>
<td class="td-1"> </td>
<td class="td-2"> </td>
<td class="td-3"> </td>
<td class="td-4"> </td>
<td class="td-5"> </td>
<td class="td-last td-6"> </td>
</tr>
<tr class="tr-even tr-6">
...
CSS
table {
border-collapse: separate;
border-spacing: 3px;
overflow: hidden;
}
td,
th {
border: 1px solid;
position: relative;
outline: 0;
padding: 0.5em;
}
thead th,
tbody th {
color: #000;
padding: 0.5em;
text-align: center;
}
tr:hover {
background: #ffa;
}
td:hover::after,
thead th:not(:empty):hover::after,
td:focus::after,
thead th:not(:empty):focus::after {
content: '';
height: 10000px;
left: 0;
position: absolute;
top: -5000px;
width: 100%;
z-index: -1;
}
td:hover::after,
th:hover::after {
background-color: #ffa;
}
body {
padding: 40px;
}
@media screen and (max-width: 600px) {
/* http://dbushell.com/demos/tables/rt_05-01-12.html */
.contenttable {
display: block;
position: relative;
width: 100%;
}
.contenttable thead {
display: block;
float: left;
}
.contenttable tbody {
display: block;
width: auto;
position: relative;
overflow-x: auto;
white-space: nowrap;
}
.contenttable thead tr {
display: block;
}
.contenttable th {
display: block;
}
.contenttable tbody tr {
display: inline-block;
vertical-align: top;
}
.contenttable th,
.contenttable td{
display: block;
min-height: 1.25em;
}
td:hover::after,
thead th:not(:empty):hover::after,
td:focus::after,
thead th:not(:empty):focus::after {
height: auto;
left: 0;
top: auto;
width: 0;
}
td:hover::after,
th:hover::after {
background-color: inherit;
}
}