如何将 border-bottom 应用于最后一个非空 <tr>?

小白菜
<table>
    <tr class="empty-row"></tr>
    <tr class="empty-row"></tr>
    <tr>
        <th>A</th>
        <th>B</th>
    </tr>
    <tr>
        <td>a</td>
        <td>b</td>
    </tr>
    <tr class="empty-row"></tr>
    <tr class="empty-row"></tr>
</table>

我想将 border-bottom 应用于这种类型,<table>但我不知道如何选择最后一个非空<tr>,还有其他方法吗?

PS:不知道里面有多少<td>还是空<tr><table>


换句话说,我想要这张桌子底部的红色边框https://jsfiddle.net/37L334hj/68/

欣克

对于复杂的 CSS 选择器,向后看并不是一个很好的方法。如果你的表格稍微复杂一点,使用 Next Sibling 和 General Sibling CSS 选择器会很快变得非常难看。你可以使用一些 JavaScript 吗?这将是微不足道的,只有 2 或 3 行。另请注意,您实际上无法border向 a添加参数tr,但可以向td. 对于这个例子,我只是做了一个 1px 的盒子阴影。

let rows = document.querySelectorAll('tr:not(.empty-row)');
let lastRow = rows[rows.length - 1];

lastRow.setAttribute( 'style', 'box-shadow: 0 1px 0 red' );
<table>
    <tr class="empty-row"></tr>
    <tr class="empty-row"></tr>
    <tr>
        <th>A</th>
        <th>B</th>
    </tr>
    <tr>
        <td>a</td>
        <td>b</td>
    </tr>
    <tr>
        <td>c</td>
        <td>d</td>
    </tr>
    <tr class="empty-row"></tr>
    <tr class="empty-row"></tr>
</table>

综上所述,如果您只需要在表格底部设置一个边框,是否可以在表格底部放置一个边框并将.empty-row设置display: none;

table { border-bottom: 1px solid green; }
tr.empty-row { display: none; }
<table>
    <tr class="empty-row"></tr>
    <tr class="empty-row"></tr>
    <tr>
        <th>A</th>
        <th>B</th>
    </tr>
    <tr>
        <td>a</td>
        <td>b</td>
    </tr>
    <tr>
        <td>c</td>
        <td>d</td>
    </tr>
    <tr class="empty-row"></tr>
    <tr class="empty-row"></tr>
</table>

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

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

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

无法将border-top和border-bottom应用于<tr>标记

如何让tr border-bottom-bottom而不是td

将border-bottom添加到表行<tr>

CSS:如何将样式应用于CSS类的最后一个<td>(而不是<tr>的最后一个<td>)

在tr标签下添加border-bottom

Tensorflow:如何将函数应用于张量的最后一个维度

如何将Geom标签应用于最后一个值数据点

即使使用border-collapse:separate,border-radius也不会应用于<tr>行标记

如何将函数应用于数据框中行中的下一个非空单元格

如何将选定的表tr移到另一个表?

jQuery:如何将TD移至另一个TR?

Coq:如何将一个假设应用于另一个

为什么margin-bottom 不适用于<tr>?

tr如何将一个单词翻译成另一个单词?

CSS:多列ul中最后一个li的border-bottom出现在错误的位置

不确定如何在CSS中使用border-bottom

SonarQube:如何将多个质量配置文件应用于一个项目?

julia lang-如何将多个函数应用于一个值

如何将向量化函数应用于numpy数组的上一个元素?

如何将CSS类应用于AngularDart中的另一个组件?

如何将样式应用于另一个元素的同级元素

如何将选择指令应用于* ngFor生成的第一个选项?

(SFML 2.4.2) 如何将一个纹理应用于多个精灵

在链接悬停时在CSS过渡上应用border-bottom

将CSS应用于除最后一个元素之外的所有元素?

将选定的选项应用于带有ng-repeat的最后一个选项

scss将样式应用于最后一个元素

将CSS样式应用于最后一个可见元素

将CSS应用于特定类的最后一个元素