可扩展 CSS div 在 iOS 8 中不起作用
Expandable CSS div not working in iOS 8
我有一些 expandable/collapsible div 可以在桌面计算机上正常工作(在 Chrome、Firefox 和 IE 中测试过)。它们在移动设备上的 Chrome 和 Android 中也能正常工作。
然而,divs 在 iOS 上的任何浏览器中都不会展开 8. 单击 headers 将更改颜色并切换图标,所以我知道切换框工作正常,但 div 不可见。
这是控制 div 扩展的 CSS:
.toggle-box + label + div {
display: none;
margin-bottom: 10px;
}
.toggle-box:checked + label + div {
display: block;
}
这是一个example.
Here is the full code.
我想我可以使用 jQuery 移动作为替代方案,但如果可能的话我不想使用任何外部库。
我怀疑您在滥用相邻的兄弟选择器。我看了一下规范,在使用三个选择器和一个伪元素之间,你是在碰运气。
幸运的是,您可以使用普通的旧兄弟选择器:~
例如:
.toggle-box ~ div {
display: none;
margin-bottom: 10px;
}
.toggle-box:checked ~ div {
display: block;
}
在这种情况下,您需要包裹每个切换开关,以防止所有框都被一个输入切换。这是 fiddle:https://jsfiddle.net/0defj7yc/1/
我有一些 expandable/collapsible div 可以在桌面计算机上正常工作(在 Chrome、Firefox 和 IE 中测试过)。它们在移动设备上的 Chrome 和 Android 中也能正常工作。
然而,divs 在 iOS 上的任何浏览器中都不会展开 8. 单击 headers 将更改颜色并切换图标,所以我知道切换框工作正常,但 div 不可见。
这是控制 div 扩展的 CSS:
.toggle-box + label + div {
display: none;
margin-bottom: 10px;
}
.toggle-box:checked + label + div {
display: block;
}
这是一个example.
Here is the full code.
我想我可以使用 jQuery 移动作为替代方案,但如果可能的话我不想使用任何外部库。
我怀疑您在滥用相邻的兄弟选择器。我看了一下规范,在使用三个选择器和一个伪元素之间,你是在碰运气。
幸运的是,您可以使用普通的旧兄弟选择器:~
例如:
.toggle-box ~ div {
display: none;
margin-bottom: 10px;
}
.toggle-box:checked ~ div {
display: block;
}
在这种情况下,您需要包裹每个切换开关,以防止所有框都被一个输入切换。这是 fiddle:https://jsfiddle.net/0defj7yc/1/