td
또는 tr
에 background-color
을 추가하면 부모 테이블에 box-shadow
이 표시되지 않습니다.배경색이 상자 그림자를 숨기는 것을 방지하려면 어떻게해야합니까?
최소 예 : 나는 테이블에 가짜 국경 box-shadow
을 사용하고
table {
box-shadow: inset -1px -1px 0 0 blue;
border-collapse: collapse;
}
td {
box-shadow: inset 1px 1px 0 0 blue;
}
.highlight {
background-color: #efe;
}
<table>
<tr>
<td>box shadow border fine here</td>
</tr>
<tr>
<td>and here</td>
</tr>
<tr class="highlight">
<td>but not with background-color</td>
</tr>
</table>
. 누락 된 부분을 채우기 위해 각 td
에 "위쪽 및 왼쪽"을 표시하고 table
에 "아래쪽 및 오른쪽"을 표시합니다. table
에서 오는
하지만 내 테이블의 모든 td
또는 tr
는이 경우 background-color
(.highlight
)을 box-shadow
(내가 이것을하고있는 이유는 테이블의 텍스트에도 적용되는 세로 리듬을 설정했기 때문입니다. 표준 표 경계선과 표준 라인 높이를 사용하면 수직 리듬. 테두리 높이를 변경하여 경계를 잘못 계산하려는 경우에도 텍스트가 줄 바꿈 될 수 있기 때문에 줄 바꿈에 대한 테두리 조정이 텍스트 블록에 대해 단 한 번이 아닌 모든 텍스트 행에 적용됩니다.)
불행하게도 행이나 둘 이상의 행에 셀이 두 개 이상있을 때 약간의 차이가 있습니다. https://jsfiddle.net/kdm47m0g/3/ 아이디어가 있습니까? –
스 니펫을 편집했습니다. 이제는 좀 더 복잡해졌습니다. – vals
또한 처음에는 너무 복잡해 보였던 다른 솔루션을 포함 시켰지만 이제는 의미가 있습니다. – vals