html - 可扩展的 CSS div 在 iOS 8 中不起作用

标签 html ios css expand

我有一些可展开/可折叠的 div,它们在台式计算机上运行良好(在 Chrome、Firefox 和 IE 中测试)。它们在移动设备上的 Android 版 Chrome 中也能正常工作。

但是,div 不会在 iOS 8 上的任何浏览器中展开。单击标题将更改颜色并切换图标,因此我知道切换框正在工作,但 div 不可见。

这是控制 div 扩展的 CSS:

.toggle-box + label + div {
    display: none;
    margin-bottom: 10px;
}
.toggle-box:checked + label + div {
    display: block;
}

这是一个example .
这是full code .

我想我可以使用 jQuery mobile 作为替代方案,但如果可能的话我宁愿不使用任何外部库。

最佳答案

我怀疑您正在滥用相邻的同级选择器。我查看了规范,在使用三个选择器和一个伪元素之间,你正在碰运气。

幸运的是,您可以使用普通的旧兄弟选择器:~

例如:

.toggle-box ~ div {
    display: none;
    margin-bottom: 10px;
}
.toggle-box:checked ~ div {
    display: block;
}

在这种情况下,您需要包装每个切换以防止一个输入切换所有框。这是一个 fiddle :https://jsfiddle.net/0defj7yc/1/

关于html - 可扩展的 CSS div 在 iOS 8 中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30515497/

相关文章:

html - 第 n 个 child ()还是第一个 child ?如何选择第一个和第二个 child

html - 如何使 div 占据没有固定 TD 高度的 html 表格单元格高度的 100%?

html - 轮廓半径?

ios - Facebook SDK : Knowing if sharing took place

ios - Safari 默认书签/首选项列表的位置是什么?

ios - 用于验证图片下载的 HTTP 响应头内容长度

javascript - 使用 anchor 标记和 isinViewport 的动态面包屑

Javascript 在从 json 中获取数据时绘制方向

css - css 文本上方的边距或填充

javascript - 之前的web form录入数据后,如何让web form出现?