2009-09-16 11 views
14

W innym pytaniu zapytałem o wyrównanie, które otrzymałem, aby odpowiedzieć na pytanie o to, że firefox jest bzdurą. Zadziałało, ale pozostawiło mi w ustach kwaśny smak i wyjaśnię dlaczego.-moz-focus-inner

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

opera (10 w niniejszym przykładzie), Firefox (3 w tym przykładzie) i Internet Explorer (siedem w tym przykładzie) wykazywać przycisk input[type="submit"] inaczej. Ta właściwość focus-inner jest domyślnie 0 w Opera 10, coś jak 5px dla firefox i musi być 6px dla Internet Explorera.

W jaki sposób mogę "zresetować" je wszystkie do 0? Czy istnieje standardowe wywołanie CSS, które nie tylko wykona powyższe czynności, ale także ustawi tę ukrytą właściwość dla IE?

+3

Wątpię, że MSIE i Opera wiedzą, jak renderować -moz-coś właściwości :) – n1313

+0

n1313, to nie jest naprawdę pytanie. Chodzi o to, że przyciski przesyłania są używane przez wszystkie przeglądarki. Wydaje się, że wszystkie te wartości są ustawione wewnętrznie i chcę wiedzieć 1) DLACZEGO!?!?!?!? 2) łatwy sposób na ich zmianę za jednym zamachem. – Dorjan

+0

2014 i to nadal się zdarza ... nie tylko to, ale tak naprawdę nie pomaga, jeśli przycisk ma zdefiniowaną wysokość ... –

Odpowiedz

7

Powód, dla którego tak się dzieje, jest prosty: ponieważ wszystkie te przeglądarki są tworzone przez różne osoby. Spróbuj na przykład spojrzeć na swoje przyciski z Safari. Nie ma czegoś takiego jak jedna reguła css, która wymusi, że wszystkie przyciski we wszystkich głównych przeglądarkach wyglądają tak samo.

Rzeczywiście, możesz osiągnąć perfekcję pikseli, jeśli traktujesz każdą z nich osobiście, np. this. Zawsze możesz użyć <input type="image">, co z pewnością rozwiąże problem.

+0

Obraz typu = uniemożliwiłby przesyłanie formularza bez javascriptu choć prawda? – Dorjan

+1

również, tak, rozumiem, że są one wykonane przez różnych ludzi, ale na pewno mogą otworzyć projekt (jak próbował Firefox), aby inni mogli "naprawić" to po swojemu? – Dorjan

+4

Nie, typ = obraz jest odpowiednikiem typu = submit. Możesz go kliknąć, a formularz zostanie przesłany. – n1313