【发布时间】:2013-06-07 13:34:54
【问题描述】:
我的页面中有以下 HTML。
<ul id="detailsList">
<li>
<input type="checkbox" id="showCheckbox" />
<label for="showCheckbox">Show Details</label>
</li>
<li>content ...</li>
<li>content ...</li>
<li>content ...</li>
<li>content ...</li>
<li>content ...</li>
</ul>
我无法更改此 HTML。我使用以下 CSS 隐藏了除第一个以外的所有 LI
ul#detailsList li:nth-child(1n+2) {
display:none;
}
到目前为止一切顺利。我现在要做的是在勾选复选框时显示那些隐藏的 LI,使用纯 CSS。到目前为止我最好的尝试是
ul#detailsList li input#showCheckbox:checked + li {
display:block;
}
显然这不起作用,因为 + li 只会选择复选框后紧接的 LI(即兄弟姐妹),而不是父级的兄弟姐妹。
这可能吗?
【问题讨论】:
-
CSS 不允许您选择父元素。仅支持兄弟元素和子元素。
-
简单的答案没有 - css 没有 prrent 选择器
标签: css css-selectors