这是可以做到的。这完全取决于具体情况以及文档结构。
我必须为每个标签添加一个类:cPantsx
其中 x 与裤子收音机的数字相同。
然后我不得不重新排列html,如下所示:
<div id="pantscontainer">
<input type="radio" name="pants" id="pants1" value="pants1" />
<input type="radio" name="pants" id="pants2" value="pants1" />
<input type="radio" name="pants" id="pants3" value="pants1" />
<label for="pants1" class='cPants1'><span></span></label>
<label for="pants2" class='cPants2'><span></span></label>
<label for="pants3" class='cPants3'><span></span></label>
</div>
一切都必须变成position:relative;
这样我才能调整容器内的位置。
在那之后,魔法真的在这里发生了:
#pantscontainer > input[id="pants1"]:checked ~ .cPants1 span{
top:125px;
}
#pantscontainer > input[id="pants1"]:checked ~ .cPants2 span{
top:-125px;
}
#pantscontainer > input[id="pants2"]:checked ~ .cPants2 span{
top:0px;
}
#pantscontainer > input[id="pants2"]:checked ~ .cPants1 span{
top:0px;
}
#pantscontainer > input[id="pants3"]:checked ~ .cPants3 span{
top:-125px;
}
#pantscontainer > input[id="pants3"]:checked ~ .cPants1 span{
top:0px;
}
#pantscontainer > input[id="pants3"]:checked ~ .cPants2 span{
top:125px;
}
基本上通过调整页面上元素的位置,我能够非常明确地定位有问题的元素,并确保它们总是相互移开。
这是你小提琴的一个叉子
我应该提到,这绝不是一个简单的解决方案。它更像是一个纸牌屋。如果您必须添加更多元素,则需要重新编写整个内容。它会扩展,但要做到这一点需要付出很多努力。