css box-shadow สำหรับแถวตาราง?

Oct 14 2020

นี่คือรหัส HTML ของฉัน:

<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>

เป้าหมายคือการมีเงาตกรอบแถวแรก ปัญหาคือสีพื้นหลังของเซลล์ 4 บดบังสี

คำถามของฉันคือฉันจะทำให้รายการดรอปโชว์ที่ด้านบนของพื้นหลังของเซลล์ 4 ได้อย่างไร

แก้ไข: ดูคำถามติดตามผล: css inset box-shadow สำหรับแถวตาราง?

คำตอบ

3 TemaniAfif Oct 14 2020 at 02:43

ลด z-index ของเซลล์ถัดไป:

.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>