CSS点击事件后的效果

3

http://codepen.io/anon/pen/GqmEAq

我正在尝试使x被点击(x是在菜单加号被点击后创建的),然后将下拉菜单收回。

我已经尝试过:

a:after:checked ~ .submenu{
  max-height: 999px;
}

我知道我已经接近成功,但是当点击“x”时,我无法使下拉菜单栏恢复到原位。

我有点困惑,因为在你的问题中,你谈到x挡住了下拉菜单的关闭,但是你在问题中发布的CSS与.submenu高度有关。请澄清问题,使其涉及一个单一的问题。如果你有另一个问题,请创建一个单独的问题。 - Hunter Turner
嗨,亨特 - 对不起,我没有意识到那也是我的笔。我会创建一个单独的,谢谢! - user6535413
如果您能够使用带有“for”属性的“label”替换这些“a”,则可以解决问题。现在的问题是伪元素捕获了单击事件(老实说,我有点惊讶“a”没有)。使用“label”会更符合语义,单击伪元素将切换复选框。额外的好处是,您可以隐藏复选框并对标签应用样式(这更具有可行性)。 - abluejelly
1个回答

1
如果x妨碍了您打开和关闭菜单,那么您可以在nav ul > li.sub > a:after中添加pointer-events: none;CSS
nav ul > li.sub > a:after {
  pointer-events: none;
}

CodePen

{{链接1:CodePen}}


嗯,当我扩展它时遇到了一个问题。有没有办法在上面设置一个固定的高度或其他什么方法? - user6535413
我添加的代码并没有导致那个问题。在 CodePen 中,它按预期工作。你之前遇到过这个高度问题吗? - Hunter Turner

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接