如果表有多行,我想添加底部边框线。如果表只有单行,则应隐藏底部边框。请指导我如何实现这一目标。请参阅下面的示例图片。
答案 0 :(得分:2)
您可以使用last-of-type
或last-child
作为@David说,例如
table tr td {
border-bottom: 1px solid #f00;
}
table tr:last-of-type td {
border-bottom: 0;
}
答案 1 :(得分:1)
最简单的方法是选择tr:last-child
作为之前tr
的兄弟姐妹:
tr + tr:last-child td {
border-bottom-width: 0;
}
以上假设(从您的图片看起来)border-bottom
位于td
上,如果它位于tr
本身,则:
tr + tr:last-child {
border-bottom-width: 0;
}
如果border-bottom
本身位于table
,则需要使用JavaScript(因为CSS没有父选择器),因为您提供了jQuery作为问题的标记:
$('table').filter(function(){
return $(this).find('tr').length < 2;
}).addClass('singleOrNoRows');
使用CSS:
.singleOrNoRows {
border-bottom-width: 0;
}
答案 2 :(得分:0)
以下是fiddle link
<强> HTML 强>
<div class="wrapper">
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td align="left" valign="top">sadfs</td>
</tr>
<tr>
<td align="left" valign="top">sdaf</td>
</tr>
<tr>
<td align="left" valign="top">sdaf</td>
</tr>
<tr>
<td align="left" valign="top">sadf</td>
</tr>
</table>
</div>
<强> CSS 强>
*{
padding:0;
margin:0;
}
body {
font:normal 12px/17px Arial, Helvetica, sans-serif;
color:#666666;
}
ul, li {
list-style:none;
}
.wrapper {
width:960px;
margin:0 auto;
}
table,thead,tbody,th,td,tr {
display: block;
background-color:#f9f5f5;
}
table thead tr {
position: absolute;
top: -9999px;
left: -9999px;
}
table td {
border: none;
border-bottom: 1px solid #e0e0e0;
margin:0 10px;
padding:5px 10px;
}
table tr:last-of-type td {
border-bottom:0;
}