firefox - 如何去除 Firefox 阴影中的奇怪边框?

标签 firefox cross-browser css

在 Firefox 中查看此 fiddle http://jsfiddle.net/qwbpZ/4/

悬停时你会看到这条灰线

enter image description here

在 Google Chrome 中没问题,但此灰色边框出现在其他浏览器中。 我该如何解决这个问题?

CSS

a, a:visited {color:#fff}

.btn {
  display: inline-block;
  -webkit-border-radius: 8px;
  -moz-border-radius: 8px;
  border-radius: 8px;
  -webkit-box-shadow: 0 9px 0 #000000, 0 13px 0 rgba(0, 0, 0, 0.1);
  -moz-box-shadow: 0 9px 0 #000000, 0 13px 0 rgba(0, 0, 0, 0.1);
  box-shadow: 0 9px 0 #000000, 0 13px 0 rgba(0, 0, 0, 0.1);
  -webkit-transition: -webkit-box-shadow .2s ease-in-out;
  -moz-transition: -moz-box-shadow .2s ease-in-out;
  -o-transition: -o-box-shadow .2s ease-in-out;
  transition: box-shadow .2s ease-in-out;
  padding: 0px;
        background: black; /*  see ? */
}

.btn span {
  display: inline-block;
  padding: 22px 22px 11px;
  font-family: Arial, sans-serif;
  line-height: 1;
  text-shadow: 0 -1px 1px rgba(19,65,88,.8);
  background: #2e2e2e;
  -webkit-border-radius: 8px;
  -moz-border-radius: 8px;
  border-radius: 8px;
  -webkit-box-shadow: inset 0 -1px 1px rgba(255,255,255,.15);
  -moz-box-shadow: inset 0 -1px 1px rgba(255,255,255,.15);
  box-shadow: inset 0 -1px 1px rgba(255,255,255,.15);
  -webkit-transition: -webkit-transform .2s ease-in-out;
  -moz-transition: -moz-transform .2s ease-in-out;
  -o-transition: -o-transform .2s ease-in-out;
  transition: transform .2s ease-in-out;
  color: #FFF;
        font-size: 32px;
        border: 0
}

.btn:hover {
  -webkit-box-shadow: 0 8px 0 #000,
    0 12px 10px rgba(0,0,0,.3);
  -moz-box-shadow: 0 8px 0 #000,
    0 12px 10px rgba(0,0,0,.3);
  box-shadow: 0 8px 0 #000,
    0 12px 10px rgba(0,0,0,.3);
}

.btn:hover span {
  -webkit-transform: translate(0, -4px);
  -moz-transform: translate(0, -4px);
  -o-transform: translate(0, -4px);
  transform: translate(0, -4px);
}

.btn:active {
  -webkit-box-shadow: 0 8px 0 #000,
    0 12px 10px rgba(0,0,0,.3);
  -moz-box-shadow: 0 8px 0 #000,
    0 12px 10px rgba(0,0,0,.3);
  box-shadow: 0 8px 0 #000,
    0 12px 10px rgba(0,0,0,.3);
  -webkit-transition: -webkit-box-shadow .2s ease-in-out;
  -moz-transition: -moz-box-shadow .2s ease-in-out;
  -o-transition: -o-box-shadow .2s ease-in-out;
  transition: box-shadow .2s ease-in-out;
}
.btn:active span { 



  -webkit-transform: translate(0, 0px);
  -moz-transform: translate(0, 0px);
  -o-transform: translate(0, 0px);
  transform: translate(0, 0px);
}

最佳答案

似乎没有完美的解决方案:阴影和边界半径之间的抗锯齿像素非常粘。

于是,我想到了以下两种解决方案:

遗憾的是,这些都不是通用的解决方案,我无法找到修复错误本身的正确方法。

关于firefox - 如何去除 Firefox 阴影中的奇怪边框?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7570089/

相关文章:

css - Firefox:Div 元素上的背景图像过渡不起作用

javascript - Firefox 43.0.2 中的“let”关键字不起作用

css - 跨浏览器 flexbox 兼容性问题

html - Galaxy Nexus 手机是否存在已知的网站兼容性问题?

javascript - 当页面滚动到某个点时,如何使用 jQuery 更改文本?

javascript - 悬停时 undefined variable

c# - 如何在 C# 中使用 Selenium Webdriver 检查 HTML5 视频是否正在播放?

linux - 使用 rpm 更新 firefox

javascript - 哪些浏览器会自动评估附加到文档的 <script> 标签?

javascript - 隐藏div的快速方法?