Reputation: 4725
Here is my HTML code:
<style>
.yellow{
background-color: yellow;
}
td{
width:40px;
}
tr:first-child {
box-shadow: 1px 1px 5px 5px #d99292;
}
</style>
<table>
<tr>
<td class=yellow>1</td>
<td>2</td>
</tr>
<tr>
<td>3</td>
<td class=yellow>4</td>
</tr>
</table>
The goal is to have a drop shadow around the first row. The problem is that the background color of cell 4 is obscuring it.
My question is: how do I make the drop show show on top of the background of cell 4?
edit: see follow-up question: css inset box-shadow for table row?
Upvotes: 5
Views: 4914
Reputation: 272909
Lower the z-index of the next cells:
.yellow {
background-color: yellow;
}
td {
width: 40px;
}
tr:first-child {
box-shadow: 1px 1px 5px 5px #d99292;
}
tr:first-child + tr td {
position: relative;
z-index: -1;
}
/* the below is not mandatory but to make sure
the cells doesn't go below the table */
table {
position:relative;
z-index:0;
}
<table>
<tr>
<td class=yellow>1</td>
<td>2</td>
</tr>
<tr>
<td>3</td>
<td class=yellow>4</td>
</tr>
</table>
Upvotes: 4