【问题标题】:how to make pseudo element visible and clickable using css on firefox如何在firefox上使用css使伪元素可见和可点击
【发布时间】:2018-04-30 14:20:46
【问题描述】:

我有一个按钮,后跟一个伪元素。按钮显示“下一步”,伪元素显示“>”。这用于分页。

我隐藏了按钮,但使用 css 属性使伪元素可见

button{
    visibility: hidden;
}
button::pseudoElement{
    visibility: visible;
}

现在按钮是隐藏的,元素是可见的。它也是可点击的。它适用于 chrome、safari 和 ie。但它不会点击Firefox。我要改变什么?

编辑 这个黑客成功了

  button{
        color: transparent;
    }
    button::pseudoElement{
        color: black;
    }

有更好的方法吗?

【问题讨论】:

标签: html css firefox pseudo-element


【解决方案1】:

伪元素实际上并没有插入到元素本身之前或之后。它们作为第一个/最后一个 child 元素插入。所以如果你隐藏“父”元素,它们的::before/::after伪元素也会被隐藏。

在你的情况下,我会在父元素上使用旧的 text-indent: -9999pxfont-size: 0 技巧并重置伪元素 (text-indent: 0)。

使用您的color: transparent 解决方案,元素将保持其大小。使用text-indent 技巧,它只是使用伪元素所需的空间。

【讨论】:

  • 因为使用visibility: hidden/visible; 工作得很好,需要bad hacks。为什么它不适用于 OP 是另一回事。
  • 当 OP 询问 “如何在 firefox 上使用 css 使伪元素可见和可点击”,使用 Firefox 点击伪元素就可以了:jsfiddle.net/6vdkn8bg/1跨度>
  • 我不明白。他们还说可见。而visibility: hidden 使它不可见。但也许我误解了什么。
  • 如果您查看 OP 的第一个 CSS 示例,您会看到他们有什么,以及他们所说的不起作用......确实如此。
猜你喜欢
  • 2014-10-17
  • 2019-06-12
  • 1970-01-01
  • 1970-01-01
  • 2019-12-14
  • 1970-01-01
  • 2019-07-09
  • 1970-01-01
  • 2023-03-31
相关资源
最近更新 更多