Siehe dieses Codebeispiel: http://jsfiddle.net/Z2BMK/
Chrome / IE8 sehen so aus

Firefox sieht so aus

Mein CSS ist
button {
padding:0;
background:#080;
color:white;
border:solid 2px;
border-color: #0c0 #030 #030 #0c0;
margin:0;
}
Wie kann ich das Codebeispiel ändern, um die Schaltfläche in beiden Browsern gleich zu machen? Ich möchte keine JavaScript-basierten Hyperlinks verwenden, da diese nicht mit der Leertaste auf der Tastatur funktionieren und eine hrefURL erforderlich ist, die keine saubere Methode für den Umgang mit Dingen darstellt.
Meine Lösung seit Firefox 13
button::-moz-focus-inner { margin: -1px; padding: 0; border-width: 1px; }
border-widthvon der -moz-focus-innerwar 1pxstandardmäßig so das Schreiben border-widthin den Code redundant ist, aber es macht es klar , was los ist. Möglicherweise hilft es auch bei der Zukunftssicherung. Um Ihre Frage zu beantworten, war der border-widthin Firefox die Ursache für den Unterschied, und das Hinzufügen margin: -1pxist die Lösung, die kompatibler ist als meine vorherige Lösung.
margin: -1px. Dies ist zu kompliziert. Es bricht ab, wenn: 1) ein Fehler in der Rendering-Engine auftritt (der auftritt), 2) Rahmen eine andere Farbe erhalten, 3) Sie zoomen. Um mögliche Probleme mit Ihrer Lösung zu demonstrieren, habe ich eine Geige vorbereitet: jsfiddle.net/Z2BMK / 455 . Bitte zoomen Sie hinein und bemerken Sie einen roten Rand.
margin: -1px? Ist es irgendwie verbundenborder: 2px?