【问题标题】:Opara CSS button::after {padding:...} BugOpara CSS button::after {padding:...} 错误
【发布时间】:2012-11-23 14:12:05
【问题描述】:

我需要使用 before/after 在标签下添加图层。但是在 Opera 浏览器中,计算附加到 button::after 伪元素的填充属性是错误的(使用其他标签效果很好)。只有当我设置一个更大的值时它才会开始增加。

示例http://jsfiddle.net/c8756/(在 Opera 中查看,然后在任何其他浏览器中查看)

我尝试将各种 display 值设置为 button 和 ::after 元素,但无论如何它不起作用。

有什么方法可以在不接触 HTML 的情况下修复 Opera 中的错误?

谢谢

【问题讨论】:

  • 您确定需要::after吗? outline: 6px solid #d00; 好像有同样的视觉效果:jsfiddle.net/thirtydot/c8756/1
  • 是的,因为我有非常复杂的 CSS 来样式化 ::after,所以必须有边框、框阴影和边框半径

标签: css opera padding


【解决方案1】:

http://codepen.io/morewry/pen/rJmCg。删除displaywidthheight并添加rightbottom

a::after,
button::after {
    content:"";
    padding:6px;
    position:absolute;
    left:-6px; top:-6px; right: -6px; bottom: -6px;
    z-index:-1;
}

技术如http://nicolasgallagher.com/multiple-backgrounds-and-borders-with-css2/

请注意,替换元素(包括大多数表单元素)、br、hr 和 img 不能与 ::before 和 ::after 配合使用。

【讨论】:

  • 我认为仅使用 CSS 是不可能解决这个问题的,所以我已经使用 JS 修复了它。所以现在我将使用您的代码重新制作它。感谢您的帮助!
猜你喜欢
  • 2019-04-29
  • 2015-03-19
  • 1970-01-01
  • 2019-06-15
  • 2021-11-24
  • 1970-01-01
  • 2014-02-24
  • 2020-04-22
  • 1970-01-01
相关资源
最近更新 更多