我正在构建一个 Accordion ,它可以在每次点击时展开,并且还有一个展开所有按钮。我在 Accordion 头和展开所有按钮上使用了 ::before
。在 Chrome 和 Firefox 中一切看起来都很好,但 IE 似乎在显示伪类和边距方面存在问题。任何帮助将不胜感激!!
最佳答案
我只能假设您使用 IE8 来测试它。如果是这样,IE8 只支持 before
的单冒号语法。和 after
伪元素。
::after -> :after
::before -> :before
我相信大多数浏览器也支持单冒号语法,所以最好使用它,除非你可以删除
编辑 - 解决
在查看了 fiddler 之后,出于某种原因(仍在查看),IE 将您的 li
元素到一个空标签中。这会导致您的选择器出现问题。你有 #nav > li > a
但在 IE 中,它将它们视为 #nav > emptyEl > li > a
.
修复它的最简单方法是让选择器不那么具体,#nav li a
现在会做你想做的事。
编辑 2 - 解决方案
因此,至少对于 fiddler,您的 HTML 格式不正确。我真的鼓励您通读代码并确保每个元素都有它应该有的开始和结束。
为了让它在 fiddler 中工作,我只需要添加一个 <tr><td>
<ul id="nav">
之前的元素元素和 </td></tr>
就在结局之前 </tbody>
元素。
关于javascript - 伪类在 IE 中不适用于 jQuery Accordion ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23940251/