使 table 的最后一个子元素与其上方的 table 元素颜色相同
Making last child of a table the same color as the table element above it
我有一个 table,在 css 我正在使用第 nth-child 来使背景颜色不同:
.className tr:nth-child(even) {
background: #F0F0F0;
}
.className tr:nth-child(odd) {
background: #FFF;
}
table 是动态创建的,因此无法知道会有多少行。
设计需要 table 的最后一个子项与其上方子项的背景颜色相匹配。
这是在 TWIG 中构建的。
您可以同时测试最后 child 和奇数或偶数。
tr:last-child:nth-child(odd) td{
background: #f0f0f0;
}
tr:last-child:nth-child(even) td{
background: #fff;
}
我不知道有什么方法可以 inherit
属性 值超出 parent-child 场景的范围(例如;级联 样式表)。但是,如果您想要一些 javascript,那么无论它以奇数还是偶数结尾,您都可以这样做。示例如下。
const tables = document.getElementsByClassName('className');
for (let i = 0, x = tables.length; i < x; i++) {
const rowCount = tables[i].rows.length;
tables[i].rows[rowCount-1].style.backgroundColor =
window.getComputedStyle(tables[i].rows[rowCount-2]).backgroundColor;
}
.className tr:nth-child(even) {
background-color: red;
}
.className tr:nth-child(odd) {
background-color: blue;
}
.examples {
display: flex;
flex-direction: row;
align-items: center;
justify-content: center;
color: #fff;
background-color: #212121;
}
.examples table {
margin: 3rem 1rem;
}
<section class="examples">
<table class="className">
<tbody>
<tr><td>blah blah blah</td></tr>
<tr><td>blah blah blah</td></tr>
</tbody>
</table>
<table class="className">
<tbody>
<tr><td>blah blah blah</td></tr>
<tr><td>blah blah blah</td></tr>
<tr><td>blah blah blah</td></tr>
<tr><td>blah blah blah</td></tr>
<tr><td>blah blah blah</td></tr>
<tr><td>blah blah blah</td></tr>
</tbody>
</table>
<table class="className">
<tbody>
<tr><td>blah blah blah</td></tr>
<tr><td>blah blah blah</td></tr>
<tr><td>blah blah blah</td></tr>
<tr><td>blah blah blah</td></tr>
<tr><td>blah blah blah</td></tr>
</tbody>
</table>
</section>
我有一个 table,在 css 我正在使用第 nth-child 来使背景颜色不同:
.className tr:nth-child(even) {
background: #F0F0F0;
}
.className tr:nth-child(odd) {
background: #FFF;
}
table 是动态创建的,因此无法知道会有多少行。
设计需要 table 的最后一个子项与其上方子项的背景颜色相匹配。
这是在 TWIG 中构建的。
您可以同时测试最后 child 和奇数或偶数。
tr:last-child:nth-child(odd) td{
background: #f0f0f0;
}
tr:last-child:nth-child(even) td{
background: #fff;
}
我不知道有什么方法可以 inherit
属性 值超出 parent-child 场景的范围(例如;级联 样式表)。但是,如果您想要一些 javascript,那么无论它以奇数还是偶数结尾,您都可以这样做。示例如下。
const tables = document.getElementsByClassName('className');
for (let i = 0, x = tables.length; i < x; i++) {
const rowCount = tables[i].rows.length;
tables[i].rows[rowCount-1].style.backgroundColor =
window.getComputedStyle(tables[i].rows[rowCount-2]).backgroundColor;
}
.className tr:nth-child(even) {
background-color: red;
}
.className tr:nth-child(odd) {
background-color: blue;
}
.examples {
display: flex;
flex-direction: row;
align-items: center;
justify-content: center;
color: #fff;
background-color: #212121;
}
.examples table {
margin: 3rem 1rem;
}
<section class="examples">
<table class="className">
<tbody>
<tr><td>blah blah blah</td></tr>
<tr><td>blah blah blah</td></tr>
</tbody>
</table>
<table class="className">
<tbody>
<tr><td>blah blah blah</td></tr>
<tr><td>blah blah blah</td></tr>
<tr><td>blah blah blah</td></tr>
<tr><td>blah blah blah</td></tr>
<tr><td>blah blah blah</td></tr>
<tr><td>blah blah blah</td></tr>
</tbody>
</table>
<table class="className">
<tbody>
<tr><td>blah blah blah</td></tr>
<tr><td>blah blah blah</td></tr>
<tr><td>blah blah blah</td></tr>
<tr><td>blah blah blah</td></tr>
<tr><td>blah blah blah</td></tr>
</tbody>
</table>
</section>