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 href
URL 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-width
von der -moz-focus-inner
war 1px
standardmäßig so das Schreiben border-width
in 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-width
in Firefox die Ursache für den Unterschied, und das Hinzufügen margin: -1px
ist 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
?