如何在表格行上重叠框阴影?

精液

我有一张桌子,我想通过在其周围应用方框阴影来突出显示一些连续的行(TR)。

我的策略是对选择的第一行应用一个名为“ selected-top”的类,对中间部分应用“ selected-middle”类,对最后一行应用“ selected-bottom”类。

但是,中间行的阴影流血了。我试图通过使用z-index来纠正这一点(我知道我必须为此添加一个相对属性,所以我做到了),但是它们似乎没有效果:

在此处输入图片说明

这是代码:

  tr.selected-top {
    box-shadow: -5px -5px 5px #000, 5px -5px 5px #000;
    position: relative;
    z-index:10;
  }
  tr.selected-middle {
    box-shadow: -5px 0px 5px #000, 5px 0px 5px #000;
    position: relative;
    z-index: -1;
  }

该表只是一个普通表:

<table>
<tr><td>stuff</td></tr>
<tr class="selected-top"><td>highlighting starts</td></tr>
<tr class="selected-middle"><td>highlighting middle</td></tr>
<tr class="selected-bottom"><td>highlighting end</td></tr>
<tr><td>other stuff</td></tr>
</table>

我究竟做错了什么?

顺便说一句,我确实尝试仅将阴影仅应用于中间行的侧面,但是那样的话阴影是不连续的。

更新:@Aditya Toke,如下所示:(左为错误阴影,右为正确阴影) 在此处输入图片说明

斯瑞

您可以使用::before::after伪元素屏蔽“中间”行的顶部和底部阴影来实现。

伪元素的高度设置为完全等于用于遮罩的阴影的长度,并且是绝对位置。

由于阴影隐藏了的顶部边框,selected-bottom并且它是下一个同级元素,因此我们需要将其添加回为:

tr.selected-middle td,
tr.selected-bottom td {
  border-bottom: 1px solid #666;
}

body {
  background-color: #1b1b1b;
  margin: 20px;
}
table {
  font-family: arial, sans-serif;
  border-collapse: collapse;
  width: auto;
  box-sizing: border-box;
  border: none;
  margin: auto;
}

tr { display: block; }
tr, td {
  height: 50px;
  background: #333;
  color: #eee;
}

td {
  padding-left: 16px;
  min-width: 170px;
  width: 100%;
  border-top: 1px solid #666;
}
tr.selected-top {
    position: relative;
    box-shadow: -5px -5px 5px #000, 5px -5px 5px #000;
}
tr.selected-middle {
    position: relative;
    box-shadow: 0px 0px 5px 5px #000;
}
tr.selected-bottom {
    position: relative;
    box-shadow: 5px 5px 5px #000, -5px 5px 5px #000;
    
}
tr.selected-middle ::before,
tr.selected-middle ::after {
    pointer-events: none;
    position: absolute;
    content:" ";
    background-color: #333;
    left: 0;
    width: 100%;
}
tr.selected-middle ::before {
    height: 10px;
    top: -10px;
}
tr.selected-middle ::after {
    top: calc(100% + 4px);
    height: 5px;
}

tr.selected-middle td,
tr.selected-bottom td {
  border-bottom: 1px solid #666;
}
<table>
  <tbody>
    <tr>
        <td>Some stuffs</td>
    </tr>
    <tr class="selected-top">
        <td>highlighting starts</td>
    </tr>
    <tr class="selected-middle">
        <td>highlighting middle</td>
    </tr>
    <tr class="selected-bottom">
        <td>highlighting ends</td>
    </tr>
     <tr>
        <td>Some stuffs</td>
    </tr>
  </tbody>
</table>

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何为电子邮件创建带边框且没有框阴影的重叠表格行?

来自分类Dev

如何在悬停时也具有框阴影效果的表格行之间放置空间?

来自分类Dev

当下一行上色时,表格行上的框阴影隐藏在下一行“下方”

来自分类Dev

当下一行上色时,表格行上的框阴影隐藏在下一行“下方”

来自分类Dev

在同一行的图像上重叠透明阴影

来自分类Dev

如何在SWT表格上绘制选择框?

来自分类Dev

如何在SWT表格上绘制选择框?

来自分类Dev

如何在悬停时将阴影应用于表格行的底部

来自分类Dev

如何在框视图中创建阴影

来自分类Dev

相邻按钮上的阴影重叠

来自分类Dev

如何在drawingcontext工具上显示阴影

来自分类Dev

如何在Matlab上消除图像阴影?

来自分类Dev

如何在<rect>上添加阴影

来自分类Dev

如何在drawingcontext工具上显示阴影

来自分类Dev

如何在框周围应用框阴影,包括箭头提示?

来自分类Dev

在图像上设置不透明度会导致重叠元素的框阴影消失

来自分类Dev

如何在表格行上做条件CSS?

来自分类Dev

如何在Netbeans上右键单击表格行?

来自分类Dev

如何在每个表格行上打印10个质数

来自分类Dev

如何在ng-click上隐藏表格行

来自分类Dev

表格行的CSS盒阴影?

来自分类Dev

如何使表格组重叠?

来自分类Dev

如何在一个小部分上从Material-ui AppBar中删除高程(框阴影)?

来自分类Dev

如何让左右框阴影仅在不同元素上无缝显示

来自分类Dev

如何在ImageView上重叠按钮?

来自分类Dev

如何在图像上重叠文本?

来自分类Dev

如何在图像上正确重叠文本

来自分类Dev

如何在图像中添加插入框阴影?

来自分类Dev

如何在CSS中消除文本框的阴影效果?

Related 相关文章

热门标签

归档