设想
我有一个 CSS 选择器,它应该在单击标签时显示子内容。选择器的思路是input:checked + element + element
为最终元素提供块显示(默认为无)。问题是它适用于除 webkit 之外的所有主要浏览器。Chrome、Safari 和 android 的移动浏览器(v2.2 抱歉,我落后于时代)都无法显示该元素。当我在 Chrome 中检查元素时,它显示它应该是display: block
但它没有呈现它。我可以在开发人员工具中取消选中并检查该属性,它会显示,但之前不会。
我认为这是 webkit 中的一个错误。
问题
这是一个多部分的问题:这是 webkit 中的一个已知错误吗?我的选择器有什么问题吗?以及如何解决 webkit 浏览器的问题(任何创意建议)?
代码
HTML
<input id="c1" type="checkbox">
<label for="c1">Ein</label>
<section>Content</section>
<input id="c2" type="checkbox">
<label for="c2">Zwei</label>
<section>Content</section>
<input id="c3" type="checkbox">
<label for="c3">Drei</label>
<section>Content</section>
CSS
input {
float:left;
clear:left;
visibility: hidden;
position:absolute;
}
label {
color:green;
display:block;
cursor:pointer;
}
section {
display:none;
}
label:after {
content:" +";
}
input:checked + label:after {
content:" -";
}
input:checked + label + section {
display:block;
}
演示
演示: http: //jsbin.com/epibin/2
来源:http: //jsbin.com/epibin/2/edit