解决方案位于您可能期望的其他地方。
您已经错过了“联系人”菜单上的所有工作正常的期望。我添加了一个新元素只是为了表明“ bug
”在菜单的设计中。
所以问题出在下拉菜单的设计上。要解决此问题,请查看您的 css 并查找
#main li li.level-open:after, #main li li.level-open ~ li:after
并删除行:
border-right: 1px dotted #7F7F7F;
现在,为了实现添加虚线菜单,您必须更改一点您的 php 代码。你不能在 CSS 中做到这一点。至少在我的小研究中我找不到。
创建一个新类 - 例如,在您的代码中,创建一个算法以将该 css 类添加到将在左侧有元素时.dotted-right-border
打印在左侧的每个元素。li
li
更新:
好吧。我通常不喜欢说某事是不可能的,但在这种情况下,我认为用纯 CSS 进行更改是不可能的。甚至当前创建的菜单项也正在添加level-open
到 HTML 标记中,因此需要围绕它做一些事情。对于这种情况,可能还有另一种方法,例如:
- 修改类
#main li li.level-open:after, #main li li.level-open ~ li:after
并更改提到的行:
border-right: 1px dotted #7F7F7F;
进线:
border-right: 1px dotted transparent;
然后为border-color: #7F7F7F
子菜单下的每个新项目进行设置,但是您无法确定子菜单是否在左侧匹配,因此它将显示/不显示虚线边框。这只是一个示例方法。如果我解释的方法很好。
这一切最终都变成了一种情况——How can you tell apart if the sub menu has a parent item on the left side in order to show dotted border?
这就是为什么我认为没有纯粹的 CSS 解决方案。但如果有人知道得更好,那就更好了。