在Firefox http://jsfiddle.net/qwbpZ/4/
中查看此小提琴在悬停时,您会看到此灰线
谷歌浏览器没问题,但这个灰色边框出现在其他浏览器中。 我该如何解决这个问题?
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);
}
答案 0 :(得分:6)
似乎没有完美的解决方案:阴影和边界半径之间的这种抗偏移像素是粘性的。
所以,我想出了以下两个解决方案:
很遗憾,但这些并不是通用解决方案,我找不到合适的方法来修复错误本身。
答案 1 :(得分:1)
快速修复:将底部和侧面1px黑色边框应用于按钮
固定按钮:http://jsfiddle.net/FJGeZ/2/
注意框阴影y轴距离小1px以补偿1px底部边框,加上内部跨距带负边距以重叠父边框。
此处的孤立错误:http://jsfiddle.net/AkZE6/
答案 2 :(得分:0)
试试这个:
-moz-background-clip: padding;
-webkit-background-clip: padding-box;
background-clip: padding-box;