Html 使用CSS有条件地隐藏最后一行
但这不起作用,因为有时最后一行是部分填充的,我不想隐藏它Html 使用CSS有条件地隐藏最后一行,html,css,Html,Css,但这不起作用,因为有时最后一行是部分填充的,我不想隐藏它 不确定使用纯CSS选择器是否可行。可以使用javascript let rows=document.querySelectorAll('.row'); rows.forEach((row)=>{ 设cols=row.querySelectorAll('td'); 设colsB=row.querySelectorAll('td.B'); if(cols.length==colsB.length){ row.style=“显示:无;”; }
不确定使用纯CSS选择器是否可行。可以使用javascript
let rows=document.querySelectorAll('.row');
rows.forEach((row)=>{
设cols=row.querySelectorAll('td');
设colsB=row.querySelectorAll('td.B');
if(cols.length==colsB.length){
row.style=“显示:无;”;
}
})
A.
A.
B
B
B
B
CSS代表级联样式表,因此无法设置父节点的样式。
但即将推出的CSS4可能会附带带有:has()伪类的解决方案,因此您的代码可能如下所示:
tbody {
tr:last-child {
display: none;
}
}
如果最后一个中的第一个具有B类,则整行将不显示
这是未来,现在您可以使用JS或服务器端解决方案。因为我使用React,所以我试图避免使用Javascript来操纵dom元素。我发现了一种使用CSS的方法
tr:last-child:has( :first-child.B ){
display : none;
}
- 首先,我选择最后一行
,然后tr:last child
在最后一行中,将不显示包含td:first child.B
类的第一个子级B
在同一最后一行中,不显示包含B类的第一个子级的同级td:first child.B~td
tr:last-child:has( :first-child.B ){
display : none;
}
tbody {
tr:last-child {
td:first-child.B {
display:none;
}
td:first-child.B ~ td {
display:none;
}
}
}