有没有办法选择一个非子元素?我不太确定该如何表达或解释它。希望代码能说明一切:

小提琴:http://jsfiddle.net/kBhgV/3/

HTML:

<div title="section-1">
    <div>
        <input type="checkbox" id="item-1">
            <label for="item-1">Item 1</label>
        </input>
    </div>
</div>
<div title="section-2">
    <div>Test Drop</div>
</div>


CSS:

[title=section-2] {
    display: none;
}
input:checked ~ [title=section-2] {
    display: block;
}


有没有一种方法可以使您在选中该框时显示第2节,而不会使第2节成为第1节的子级?

最佳答案

从更改您的代码

<div title="section-1">
    <div>
        <input type="checkbox" id="item-1">
            <label for="item-1">Item 1</label>
        </input>
    </div>
</div>
<div title="section-2">
    <div>Test Drop</div>
</div>




<input type="checkbox" id="item-1"/>
   <div title="section-1">
    <div>
        <label for="item-1">Item 1</label>
    </div>
</div>
<div title="section-2">
    <div>Test Drop</div>
</div>


那么您的CSS应该可以正常工作。您可以将复选框的可见性设置为隐藏,并将其绝对置于页面之外的某个位置。

我的网站使用了类似的导航技术,因此您可以通过检查代码来查看其工作方式。

http://www.aktof.ca/

改变了你的小提琴

http://jsfiddle.net/kBhgV/4/

07-25 20:50