Hi,
Via tr:hover kan ik een rij een achtergrond kleur geven. Kan zoiets ook voor kolommen?
Dus wel niet via java enkel css
Jan
1.981 views
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Demo col:hover</title>
<style>
table {
border-collapse: collapse;
}
td {
border: 1px solid black;
}
td:hover {
cursor: pointer;
}
col#col0 {
background: yellow;
}
col#col0:hover {
background: red;
}
</style>
</head>
<body>
<table>
<colgroup>
<col id="col0">
<col id="col1">
<col id="col2">
</colgroup>
<tr>
<td>ISBN</td>
<td>Title</td>
<td>Price</td>
</tr>
<tr>
<td>3476896</td>
<td>My first HTML</td>
<td>$53</td>
</tr>
<tr>
<td>5869207</td>
<td>My first CSS</td>
<td>$49</td>
</tr>
</table>
</body>
</html>
<?php
$gegevens = array( array('ISBN','Title','Price'),
array('3476896','My first HTML','$53'),
array('5869207','My first CSS','$49')
);
?>
<style>
div.alles
{
overflow: hidden;
}
div.titel
{
float: left;
color: red;
width: 100px;
margin: 1px;
}
div.veld
{
margin: 1px;
}
div.hover
{
float: left;
width: 100px;
margin: 1px;
background: #F0F0F0;
}
div.hover:hover
{
background: yellow;
}
</style>
<?php
echo '<div class="alles">';
for($x=0;$x<count($gegevens[0]);$x++)
{
echo '<div class="hover">';
for($y=0;$y<count($gegevens);$y++)
{
$class = ($y==0) ? 'titel veld' : 'veld';
echo '<div class="'.$class.'">'.$gegevens[$y][$x].'</div>';
}
echo '</div>';
}
echo '</div>';
echo '<br/><br/><br/><br/>';
echo '<div class="alles">';
echo '<div class="titel">'.implode('</div><div class="titel">', $gegevens[0]).'</div>';
echo '<div class="clear"></div>';
for($x=0;$x<count($gegevens[0]);$x++)
{
echo '<div class="hover">';
for($y=1;$y<count($gegevens);$y++)
{
echo '<div class="veld">'.$gegevens[$y][$x].'</div>';
}
echo '</div>';
}
echo '</div>';
?>
Michael - op 28/05/2014 11:19:37
Met een klein beetje javascript lukt dit wel. Artikel.
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Demo col:onmousover</title>
<style>
table {
border-collapse: collapse;
}
td {
border: 1px solid black;
}
td:hover {
cursor: pointer;
}
</style>
</head>
<body>
<table id="table1">
<colgroup>
<col>
<col>
<col>
</colgroup>
<tr>
<td>ISBN</td>
<td>Title</td>
<td>Price</td>
</tr>
<tr>
<td>3476896</td>
<td>My first HTML</td>
<td>$53</td>
</tr>
<tr>
<td>5869207</td>
<td>My first CSS</td>
<td>$49</td>
</tr>
</table>
<script>
var cols = document.getElementById('table1').getElementsByTagName('col');
var TRs = document.getElementById('table1').getElementsByTagName('tr');
for (var j=0; j<TRs.length; j++) {
var eachTR = TRs[j];
var TDs = eachTR.getElementsByTagName('td');
for (var k=0; k<TDs.length; k++) {
TDs[k].nr = k;
TDs[k].onmouseover = function() {
this.parentNode.style.background = 'red'; // optioneel
this.style.background = 'maroon'; // optioneel
this.style.color = 'white'; // optioneel
var colNr = this.nr;
cols[colNr].style.background = 'red';
}
TDs[k].onmouseout = function() {
this.parentNode.style.background = ''; // optioneel
this.style.background = ''; // optioneel
this.style.color = ''; // optioneel
var colNr = this.nr;
cols[colNr].style.background = '';
}
}
}
</script>
</body>
</html>
tr:first-child td {
background: yellow !important;
color: black !important;
}