css – 表格行上的Box Shadow没有出现在某些浏览器上

前端之家收集整理的这篇文章主要介绍了css – 表格行上的Box Shadow没有出现在某些浏览器上前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
表格行上的CSS框阴影(tr)似乎不能在浏览器之间保持一致。在某些浏览器上显示阴影;在别人身上,没有阴影。

我正在使用以下CSS:

tr {
  background-color: rgb(165,182,229);
  Box-shadow: 0px 2px 2px black;
  -moz-Box-shadow: 0px 2px 2px black;
  -webkit-Box-shadow: 0px 2px 2px black;
}
td,th {
  padding: 5px;
  text-align: left;
}

以下是以下代码片段的jsFiddle

tr {
  background-color: rgb(165,229);
  Box-shadow: 0px 2px 2px black;
  -moz-Box-shadow: 0px 2px 2px black,;
  -webkit-Box-shadow: 0px 2px 2px black;
}
td,th {
  padding: 5px;
  text-align: left;
}
<table>
  <tr>
    <td>&nbsp;</td>
    <th>One</th>
    <th>Two</th>
  </tr>
  <tr>
    <th>Title</th>
    <td>Three</td>
    <td>Four</td>
  </tr>
  <tr>
    <th>Title2</th>
    <td>Five</td>
    <td>Six</td>
  </tr>
  <tr>
    <th>Title3</th>
    <td>Seven</td>
    <td>Eight</td>
  </tr>
  <tr>
    <th>Title4</th>
    <td>Nine</td>
    <td>Ten</td>
  </tr>
</table>

注意:当代替< tr>时,观察到相同的行为。与< div>并添加display:table-row。

解决方法

如前所述,Box-shadow属性仅适用于显示:block或display:inline-block属性的元素。

如果要将table:block添加到表单元格中作为一般样式规则,则它将折叠,因为单元格与display:table的自动宽度/高度比例将不再被应用。为了模拟这种行为,只需将min-width属性分配给每个th和td。

然后将Box-shadow应用于行(悬停或不存在)。

总而言之,您的代码应如下所示:

table { Box-sizing: border-Box; }
td,th { padding-left: 16px; min-width: 170px; text-align: left; }
tr { display: block; }
tr:hover { Box-shadow: 0px 2px 18px 0px rgba(0,0.5); cursor: pointer; }

为了简单起见,我省略了供应商的前缀。

这里是完整的例子:

table {
  Box-sizing: border-Box;
  border-bottom: 1px solid #e8e8e8;
}
td,th {
  padding-left: 16px;
  min-width: 170px;
  border: 1px solid #e8e8e8;
  border-bottom: none;
  font: 14px/40px;
  text-align: left;
}
td {
  color: #666;
}
tr {
  display: block;
}
th {
  color: #333;
}
tr:hover {
  background-color: #fbfbfb;
  Box-shadow: 0px 2px 18px 0px rgba(0,0.5);
  cursor: pointer;
}
<table cellpadding="0" cellspacing="0">
  <thead>
    <tr>
      <th>Phone number</th>
      <th>Date</th>
      <th>Name</th>
      <th>Label</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>0342443</td>
      <td>10 August 2013</td>
      <td>Kate</td>
      <td>Loves cats</td>
      </td>
      <tr>
        <td>0342442</td>
        <td>9 August 2013</td>
        <td>Mary</td>
        <td>Boring</td>
      </tr>
      <tr>
        <td>0342441</td>
        <td>8 August 2013</td>
        <td>Anna</td>
        <td>Loves extreme stuff</td>
      </tr>
  </tbody>
</table>

你也可以check out the fiddle here

猜你在找的CSS相关文章