我试图将box-shadow添加到表格的第一行(标题), 这在Firefox中运行良好,但遗憾的是在Chrome中无效。
我尝试过使用不同的显示属性值(例如" display:block"), 它会在Chrome中添加阴影,但会将整个标题移动到第一列的第一个单元格中。关于如何在我的案例中添加box-shadow的任何解决方案?
下面是我的CSS / HTML示例(box-shadow用于选择器" tr:first-child"):
body,
html {
height: 100%;
background-color: #E0E0E0;
}
table {
margin-left: auto;
margin-right: auto;
margin-top: 10px;
margin-bottom: 25px;
background: linear-gradient(to bottom, #E0E0E0 0%, #E1E1E1 10%, #E5E5E5 47%, #E7E7E7 100%);
-webkit-border-radius: 10px 10px 10px 10px;
-moz-border-radius: 10px 10px 10px 10px;
border-radius: 10px 10px 10px 10px;
box-sizing: border-box;
}
table,
th,
td {
border-collapse: collapse;
}
tr:hover {
background-color: #E0E0E0;
}
tr:first-child {
background-color: #E0E0E0;
-webkit-border-radius: 10px 10px 10px 10px;
-moz-border-radius: 10px 10px 10px 10px;
border-radius: 10px 10px 10px 10px;
-webkit-box-shadow: 3px 5px 10px grey;
-moz-box-shadow: 3px 5px 10px grey;
box-shadow: 3px 5px 10px grey;
}
th {
background-color: #404040;
color: #FFFFFF;
}
th,
td {
padding: 3px;
max-width: 600px;
}
td {
border-bottom: 1px solid #909090;
}
td.last_row {
border-bottom: none;
}
td:first-child {
text-align: center;
width: 25px;
}
td:last-child {
text-align: center;
width: 50px;
}
#column_1 {
-webkit-border-radius: 10px 0px 0px 10px;
-moz-border-radius: 10px 0px 0px 10px;
border-radius: 10px 0px 0px 10px;
}
#column_2 {
-webkit-border-radius: 0px 10px 10px 0px;
-moz-border-radius: 0px 10px 10px 0px;
border-radius: 0px 10px 10px 0px;
}
.outer_col {
border: none;
}

<body>
<table>
<tr>
<th id="column_1">ID</th>
<th id="column_2" colspan="2">DESCRIPTION</th>
</tr>
<tr>
<td class="outer_col">1</td>
<td>Lorem ipsum dolor sit amet, consectetur adipiscing elit</td>
<td class="outer_col"><a href="#">Link</a>
</td>
</tr>
<tr>
<td class="outer_col">2</td>
<td>Lorem ipsum dolor sit amet, consectetur adipiscing elit</td>
<td class="outer_col"><a href="#">Link</a>
</td>
</tr>
<tr>
<td class="outer_col">3</td>
<td class="last_row">Lorem ipsum dolor sit amet, consectetur adipiscing elit</td>
<td class="outer_col"><a href="#">Link</a>
</td>
</tr>
</table>
</body>
&#13;
答案 0 :(得分:0)
将盒子阴影效果移动到th:
th {
background-color: #404040;
color: #FFFFFF;
-webkit-border-radius: 10px 10px 10px 10px;
-moz-border-radius: 10px 10px 10px 10px;
border-radius: 10px 10px 10px 10px;
-webkit-box-shadow: 3px 5px 10px grey;
-moz-box-shadow: 3px 5px 10px grey;
box-shadow: 3px 5px 10px grey;
}
tr:第一个孩子与你的情况相同,所以你不需要它。
要使其在最新版本的IE中运行,您需要添加到: 边界崩溃:独立;
答案 1 :(得分:0)
Chrome通常会在一行中使用box-shadow。只需将“tr:firstchild”重写为“th”元素,它就可以在Chrome中运行。 “box-shadow属性仅适用于具有display:block或display:inline-block属性的元素。”
因此,如果您使用display:block或display:inline-block,它会应用您的阴影,但也会破坏表格的完整布局。所以我建议只重建你的影子...... :)