我有一个水平菜单,中间点(通过::after
伪元素插入)分隔菜单项。我想禁用中点上的链接。
在Safari中,这可以按预期工作,但在Firefox(第47版)中,pointer-events: none
将被忽略。
有人知道解决方法吗?
我的代码(还有一个小提琴:https://jsfiddle.net/54gmfxax/):
a {
text-decoration: none;
}
ul li {
list-style-image: none;
list-style-type: none;
margin-left: 0;
white-space: nowrap;
display: inline;
float: left;
}
ul li a::after {
padding: 0em 1em;
content: '\00b7';
pointer-events: none;
}
ul li.last a::after {
content: none;
}
<ul class="menu">
<li class="first"><a href="#1" title="">Item 1</a>
</li>
<li class="leaf"><a href="#2" title="">Item 2</a>
</li>
<li class="leaf"><a href="#3" title="">Item 3</a>
</li>
<li class="last leaf"><a href="#4" title="">Item 4</a>
</li>
</ul>
答案 0 :(得分:2)
而不是将::after
伪元素放在锚元素上:
ul li a::after {
padding: 0em 1em;
content: '\00b7';
pointer-events: none;
}
ul li.last a::after {
content: none;
}
...将它们放在列表项目上:
ul li::after {
padding: 0em 1em;
content: '\00b7';
/* pointer-events: none; (not necessary) */
}
ul li.last::after {
content: none;
}
a {
text-decoration: none;
}
ul li {
list-style-image: none;
list-style-type: none;
margin-left: 0;
white-space: nowrap;
display: inline;
float: left;
}
ul li::after {
padding: 0em 1em;
content: '\00b7';
pointer-events: none;
}
ul li.last::after {
content: none;
}
&#13;
<ul class="menu">
<li class="first"><a href="#1" title="">Item 1</a>
</li>
<li class="leaf"><a href="#2" title="">Item 2</a>
</li>
<li class="leaf"><a href="#3" title="">Item 3</a>
</li>
<li class="last leaf"><a href="#4" title="">Item 4</a>
</li>
</ul>
&#13;