Reputation: 23
I would like to hover the entire row that contain div cell.
The main div has display:table properties.
Im trying css3 pseudo classes nth child but not working properly.
Any idea would be appreciated, thanks.
div.table{
margin:auto;
display:table;
width:800px;
background-color:lightblue;
border-collapse:collapse;
}
div.row
{
display:table-row;
}
div.cell
{
display:table-cell;
border:1px solid red;
height: 20px;
padding: 4px;
border:none;
border-bottom: 1px solid #333;
}
div.cell:nth-child(8){
border-right: 1px solid #333;
}
div.cell:nth-child(1){
border-left: 1px solid #333;
}
div.cell:hover ~ div:nth-child(1n)
{
background-color: #B38E8E;
}
<div class="table">
<div class="row">
<div class="cell">NAME</div>
<div class="cell">GENDER</div>
<div class="cell">STATUS</div>
<div class="cell">CITIZENSHIP</div>
<div class="cell">TIN</div>
<div class="cell">SSS</div>
<div class="cell">PHIL. HEALTH</div>
<div class="cell">ACTION</div>
</div>
<div class="row">
<div class="cell">ROW 1 Data</div>
<div class="cell">ROW 1 Data</div>
<div class="cell">ROW 1 Data</div>
<div class="cell">ROW 1 Data</div>
<div class="cell">ROW 1 Data</div>
<div class="cell">ROW 1 Data</div>
<div class="cell">ROW 1 Data</div>
<div class="cell">ROW 1 Data</div>
</div>
<div class="row">
<div class="cell">ROW 2 Data</div>
<div class="cell">ROW 2 Data</div>
<div class="cell">ROW 2 Data</div>
<div class="cell">ROW 2 Data</div>
<div class="cell">ROW 2 Data</div>
<div class="cell">ROW 2 Data</div>
<div class="cell">ROW 2 Data</div>
<div class="cell">ROW 2 Data</div>
</div>
</div>
Upvotes: 2
Views: 2639
Reputation: 2480
Add the below styles in your stylesheet and try.
.row:hover{
background-color: #B38E8E;
}
Upvotes: 0
Reputation: 7207
Try like this Demo
Use this code
div.row:hover
{
background-color: #B38E8E;
}
instead of
div.cell:hover ~ div:nth-child(1n)
{
background-color: #B38E8E;
}
Upvotes: 1
Reputation: 19341
Following is the thing you need. Hover on row not on cell.
div.table{
margin:auto;
display:table;
width:800px;
background-color:lightblue;
border-collapse:collapse;
}
div.row
{
display:table-row;
}
div.cell
{
display:table-cell;
border:1px solid red;
height: 20px;
padding: 4px;
border:none;
border-bottom: 1px solid #333;
}
div.cell:nth-child(8){
border-right: 1px solid #333;
}
div.cell:nth-child(1){
border-left: 1px solid #333;
}
div.row:hover
{
background-color: #B38E8E;
}
<div class="table">
<div class="row">
<div class="cell">NAME</div>
<div class="cell">GENDER</div>
<div class="cell">STATUS</div>
<div class="cell">CITIZENSHIP</div>
<div class="cell">TIN</div>
<div class="cell">SSS</div>
<div class="cell">PHIL. HEALTH</div>
<div class="cell">ACTION</div>
</div>
<div class="row">
<div class="cell">ROW 1 Data</div>
<div class="cell">ROW 1 Data</div>
<div class="cell">ROW 1 Data</div>
<div class="cell">ROW 1 Data</div>
<div class="cell">ROW 1 Data</div>
<div class="cell">ROW 1 Data</div>
<div class="cell">ROW 1 Data</div>
<div class="cell">ROW 1 Data</div>
</div>
<div class="row">
<div class="cell">ROW 2 Data</div>
<div class="cell">ROW 2 Data</div>
<div class="cell">ROW 2 Data</div>
<div class="cell">ROW 2 Data</div>
<div class="cell">ROW 2 Data</div>
<div class="cell">ROW 2 Data</div>
<div class="cell">ROW 2 Data</div>
<div class="cell">ROW 2 Data</div>
</div>
</div>
Upvotes: 0