当前位置: 首页 > 面试题库 >

在某些浏览器中未显示表格行上的框阴影

韦思淼
2023-03-14
问题内容

表行上的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;
}

这是以下代码片段的[sFiddle:

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;

}


<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属性仅适用于具有display: blockdisplay:inline-block属性的元素

如果您将display: block作为常规样式规则添加到表格单元格中,则它将折叠,因为display:table不再应用单元格所具有的自动宽度/高度比例。要模拟该行为,只需min- widthth和分配属性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,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, 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>


 类似资料:
  • 下面是一个在Edge中失败的页面示例。http://www.nycourts.gov/forms/familycourt/general.shtml 我们使用的CSS代码是:

  • 我试图在html表的某些列组上放置一些,但我在每个上都得到了框影的覆盖。(在我的上下文中,我不能拆表) html: css: 实际外观: 想要的表情:

  • 我正在使用Jersey实施Rest服务。我想在浏览器上显示JSON,但我得到的是XML。 我感谢你的帮助。

  • 问题内容: 我只是从Java小程序开始,然后发现了这个提供教程的网站。我输入了所有代码,但该小程序未显示在我的浏览器中:HelloWorld.java 这是我的HTML文件 我已经编译了Java文件(HelloWorld.class),并将所有文件保存在桌面上。我在Mac OS X美洲狮上使用的是野生动物园的最新版本。我在谷歌浏览器中尝试过,并说要安装一个插件,但是我没有做任何事情? 问题答案:

  • 问题内容: alert(myVar1); return false; var myVar1; 上面的代码在IE,FF和Opera中引发错误,表明return语句必须包含在函数中。但它可以在Safari和Chrome中运行(显示)。 以上代码已在全局范围内编写。以外的所有功能。 任何原因? 问题答案: 在javaScript中,将变量移到脚本顶部,然后运行。所以当你运行它会做 这是因为javascr

  • 问题内容: 我创建了一个小的搜索小部件,但是通过chrome浏览时,背景不会出现。我已经测试了IE,FF和safari,它们看起来都不错。 http://paradigmsearch.co.uk/widget/?id=1 我通常不愿意将布局问题放在SO上。但是,我已经讨论了一段时间。 在元素上: 我正在应用以下CSS定义 背景只是不可见。如果这确实是一个愚蠢的标记/ CSS监督,那么我深表歉意。