2009-09-16 17 views
14

En otra pregunta, pregunté acerca de la alineación que me dieron para responder a la pregunta sobre que firefox es un twit. Funcionó, pero me dejó un sabor amargo en la boca y explicaré por qué.-moz-focus-inner

button::-moz-focus-inner { 
    border: 0; 
    padding: 0; 
} 

Opera (10 en este ejemplo), Firefox (3 en este ejemplo) e Internet Explorer (7 para este ejemplo), todos muestran un botón de input[type="submit"] diferente. Esta propiedad focus-inner está predeterminada en 0 en Opera 10, algo así como 5px para Firefox y debe ser de 6px para Internet Explorer.

¿Cómo puedo "manta" restablecerlos todos a 0? ¿Hay una llamada CSS estándar que no solo haga lo anterior sino que establezca también esta propiedad oculta para IE?

+3

Dudo que MSIE y Opera sepan cómo representar las propiedades de -moz-something :) – n1313

+0

n1313, esa no es la pregunta realmente. La pregunta es que los botones de envío son utilizados por todos los navegadores. Todos parecen establecer este valor internamente y quiero saber 1) ¿POR QUÉ??!?!?!? 2) una manera fácil de cambiarlos a todos de una sola vez. – Dorjan

+0

2014 y esto todavía sucede ... no solo eso, sino que realmente no te ayuda si el botón tiene una altura definida en él ... –

Respuesta

7

La razón por la que esto está sucediendo es simple: porque todos estos navegadores están hechos por diferentes personas. Intenta mirar tus botones desde Safari, por ejemplo. No existe una regla CSS que obligue a todos los botones de todos los navegadores principales a tener el mismo aspecto.

Bueno, en realidad puedes lograr la perfección de píxeles, si tratas a cada uno personalmente, como this. Y siempre puedes usar <input type="image">, eso hará que el truco sea seguro.

+0

la imagen type = evitaría la acción de envío de un formulario sin javascript aunque correcto? – Dorjan

+1

también, sí, entiendo que están hechos por diferentes personas, pero seguramente pueden abrir el diseño (como lo ha intentado hacer Firefox) para que otros puedan "arreglarlo" a su manera. – Dorjan

+4

No, type = image es un equivalente a type = submit. Puede hacer clic en él y se enviará el formulario. – n1313