Vea este ejemplo de código: http://jsfiddle.net/Z2BMK/
Chrome / IE8 se ve así
Firefox se ve así
Mi CSS es
button {
padding:0;
background:#080;
color:white;
border:solid 2px;
border-color: #0c0 #030 #030 #0c0;
margin:0;
}
¿Cómo puedo cambiar la muestra de código para que el botón sea el mismo en ambos navegadores? No quiero usar hipervínculos basados en JavaScript porque no funcionan con la barra espaciadora en el teclado y tiene que tener una href
URL que no es una forma limpia de manejar las cosas.
Mi solución, desde Firefox 13
button::-moz-focus-inner { margin: -1px; padding: 0; border-width: 1px; }
margin: -1px
? ¿Está conectado de alguna maneraborder: 2px
?border-width
de-moz-focus-inner
era1px
de forma predeterminada, por lo que la escrituraborder-width
en el código es redundante, pero deja más claro lo que está sucediendo. Es posible que también ayude en la preparación para el futuro. Para responder a su pregunta,border-width
en Firefox fue la causa de la diferencia, y agregarmargin: -1px
es la solución que es más compatible que mi solución anterior.margin: -1px
. Esto es demasiado complicado. Se rompe si: 1) Aparece un error en el motor de renderizado (eso sucede), 2) Los bordes adquieren un color diferente, 3) Hace zoom. Para demostrar problemas potenciales con su solución, he preparado un violín: jsfiddle.net/Z2BMK / 455 . Acerca la imagen y observa que aparece un borde rojo.Respuestas:
Agrega esto:
button::-moz-focus-inner { padding: 0; border: 0 }
http://jsfiddle.net/thirtydot/Z2BMK/1/
border
Es necesario incluir la regla anterior para que los botones se vean iguales en ambos navegadores, pero también elimina el contorno punteado cuando el botón estáactive
en Firefox. Muchos desarrolladores se deshacen de este esquema punteado y lo reemplazan opcionalmente por algo más visualmente amigable.fuente
button{background:/*Something here*/} button:focus{-moz-box-shadow:0 0px 3px #C80;}
. Esto compensa no tener la línea de puntos y le da la consistencia al navegador que buscaba.input[type="reset"]::-moz-focus-inner, input[type="button"]::-moz-focus-inner, input[type="submit"]::-moz-focus-inner, input[type="file"] > input[type="button"]::-moz-focus-inner
file
css). Lo siento, debe haber un CSS en conflicto en la página en la que estaba tratando de hacerlo. Gracias.Para arreglarlo en elementos de entrada y agregar
input[type="reset"]::-moz-focus-inner, input[type="button"]::-moz-focus-inner, input[type="submit"]::-moz-focus-inner, input[type="file"] > input[type="button"]::-moz-focus-inner
es simple perfecto!
fuente
input[type="file"] > input[type="button"]::-moz-focus-inner
redundante porque ya lo agregasteinput[type="button"]::-moz-focus-inner
, o esa no es tu experiencia? ¿Tú sabes?