我有一个简单的表格,box-shadow
,但我想从任何阴影中排除第一个单元格。
我尝试将box-shadow: none
添加到该单元格,但它不会覆盖整个表格上的阴影。我甚至不确定这是否可能?
HTML:
<table>
<tr class="header">
<td></td>
<td>hello</td>
<td>hello</td>
<td>hello</td>
</tr>
<tr>
<td>row 1</td>
<td>row 1</td>
<td>row 1</td>
<td>row 1</td>
</tr>
<tr>
<td>row 2</td>
<td>row 2</td>
<td>row 2</td>
<td>row 2</td>
</tr>
<tr class="last-row">
<td>row 3</td>
<td>row 3</td>
<td>row 3</td>
<td>row 3</td>
</tr>
</table>
CSS:
table {
width: 80%;
margin: 30px;
box-shadow: 0 1.5px 4px rgba(0, 0, 0, 0.24), 0 1.5px 6px rgba(0, 0, 0, 0.12);
}
.header {
height: 50px;
vertical-align: middle;
text-align: center;
color: #fff;
background: red;
}
.header td {
border-bottom: 2px solid #ccc;
}
.header td:first-of-type {
background: #fff;
}
.last-row td {
border: none !important;
}
tr td:not(.header) {
height: 60px;
text-align: center;
border-bottom: 1px solid #ccc;
}
Here's a fiddle to show an example of a table
这可能吗?
更新
第一个单元格是指行header
- table .header td {}
这是一个完美结果的图像:
答案 0 :(得分:1)
您应该在box-shadow
中添加tbody
并在box-shadow
中添加thead
以使用它,您可以将其排除在外,以下内容将为您提供更多信息。
table {
width: 80%;
margin: 30px;
overflow: hidden;padding: 5px;
}
.header {
height: 50px;
vertical-align: middle;
text-align: center;
color: #fff;
background: red;
}
.header td {
border-bottom: 2px solid #ccc;
}
.header th:first-of-type {
background: #fff;
}
.last-row td {
border: none !important;
}
tr td:not(.header) {
height: 60px;
text-align: center;
border-bottom: 1px solid #ccc;
}
table tbody{
box-shadow: 0 1.5px 4px rgba(0, 0, 0, 0.24), 0 1.5px 6px rgba(0, 0, 0, 0.12);
}
table thead{
position: relative;
}
table thead:before{
box-shadow: 3px -2px 2px rgba(0, 0, 0, 0.2);
content: "";
height: 109%;
position: absolute;
right: 0;
top: 0;
width: 75%;
z-index: -1;
}
&#13;
<table>
<thead>
<tr class="header">
<th></th>
<th>hello</th>
<th>hello</th>
<th>hello</th>
</tr>
</thead>
<tbody>
<tr>
<td>row 1</td>
<td>row 1</td>
<td>row 1</td>
<td>row 1</td>
</tr>
<tr>
<td>row 2</td>
<td>row 2</td>
<td>row 2</td>
<td>row 2</td>
</tr>
<tr class="last-row">
<td>row 3</td>
<td>row 3</td>
<td>row 3</td>
<td>row 3</td>
</tr>
</tbody>
</table>
&#13;
答案 1 :(得分:0)
这可以通过给该单元格提供ID或类属性,然后将css应用于您喜欢的元素,然后调用第一个单元格,如#firstCell并且不给它背景:无;颜色:黑色;通常的方式。
答案 2 :(得分:0)
这是我想出来的,不完美但是这个技巧足够接近理想的结果
我将第一个单元格更改为:
<td style="position: relative"><div class="overflow"></div></td>
CSS:
.overflow{
position: absolute;
background: #fff;
bottom: 0;
right: 0;
width: 105%;
height: 105%;
}