CSS 下一个相同父项的选择器
CSS selector for the next same parent
我正在重新设计一个遗留应用程序,只更改它后面的 .css。
在一个简化的场景中,我有这样的东西:
table {
border: 1px solid black;
}
div.name {
background-color: red;
}
div+td {
background-color: yellow;
}
<table>
<tr>
<td>
<div class='name'>Sean</div>
</td>
<td>Connery</td>
<td>1</td>
</tr>
<tr>
<td>
<div class='name'>Pierce</div>
</td>
<td>Brosnan</td>
<td>2</td>
</tr>
</table>
我想找到一种方法(使用纯 css)在 td[= 之后立即为 td 元素设置背景颜色31=] 包含 div 和 class='name'。换句话说,我想为 'Connery' 和 'Brosnan'.
的单元格设置背景颜色
在我的示例中,我使用了选择器 div + td,这显然是错误的。
这里是fiddle.
"next same parent" select 或 CSS 中没有。您可以使用 :nth-child
select 或始终 select 第二个 td:
td:nth-child(2) {...}
table {
border: 1px solid black;
}
div.name {
background-color: red;
}
td:nth-child(2) {
background-color: yellow;
}
<table>
<tr>
<td>
<div class='name'>Sean</div>
</td>
<td>Connery</td>
<td>1</td>
</tr>
<tr>
<td>
<div class='name'>Pierce</div>
</td>
<td>Brosnan</td>
<td>2</td>
</tr>
</table>
或者(如评论中所建议),将您的 class="name"
移动到 td 元素并使用相邻的同级元素 select 或 +
:
.name + td {...}
table {
border: 1px solid black;
}
.name {
background-color: red;
}
.name + td {
background-color: yellow;
}
<table>
<tr>
<td class='name'>
<div>Sean</div>
</td>
<td>Connery</td>
<td>1</td>
</tr>
<tr>
<td class='name'>
<div>Pierce</div>
</td>
<td>Brosnan</td>
<td>2</td>
</tr>
</table>
我正在重新设计一个遗留应用程序,只更改它后面的 .css。 在一个简化的场景中,我有这样的东西:
table {
border: 1px solid black;
}
div.name {
background-color: red;
}
div+td {
background-color: yellow;
}
<table>
<tr>
<td>
<div class='name'>Sean</div>
</td>
<td>Connery</td>
<td>1</td>
</tr>
<tr>
<td>
<div class='name'>Pierce</div>
</td>
<td>Brosnan</td>
<td>2</td>
</tr>
</table>
我想找到一种方法(使用纯 css)在 td[= 之后立即为 td 元素设置背景颜色31=] 包含 div 和 class='name'。换句话说,我想为 'Connery' 和 'Brosnan'.
的单元格设置背景颜色在我的示例中,我使用了选择器 div + td,这显然是错误的。
这里是fiddle.
"next same parent" select 或 CSS 中没有。您可以使用 :nth-child
select 或始终 select 第二个 td:
td:nth-child(2) {...}
table {
border: 1px solid black;
}
div.name {
background-color: red;
}
td:nth-child(2) {
background-color: yellow;
}
<table>
<tr>
<td>
<div class='name'>Sean</div>
</td>
<td>Connery</td>
<td>1</td>
</tr>
<tr>
<td>
<div class='name'>Pierce</div>
</td>
<td>Brosnan</td>
<td>2</td>
</tr>
</table>
或者(如评论中所建议),将您的 class="name"
移动到 td 元素并使用相邻的同级元素 select 或 +
:
.name + td {...}
table {
border: 1px solid black;
}
.name {
background-color: red;
}
.name + td {
background-color: yellow;
}
<table>
<tr>
<td class='name'>
<div>Sean</div>
</td>
<td>Connery</td>
<td>1</td>
</tr>
<tr>
<td class='name'>
<div>Pierce</div>
</td>
<td>Brosnan</td>
<td>2</td>
</tr>
</table>