2012-04-24 9 views
19

Gdy masz prosty element na stronie i klikniesz go (przytrzymaj mysz podczas klikania, aby zobaczyć efekt) w IE8/9, przycisk przesuwa się nieco w dół iw prawo .Zapobieganie przesuwaniu <button> podczas kliknięcia w IE

Zakładam, że jest to część domyślnego stylu IE. Czy mimo to można temu zapobiec?

http://jsfiddle.net/tmcconechy/hqm59/

+2

nie faktycznie rozwiązać swój problem, moim zdaniem, więc jestem delegowania jako komentarz. Sprawdź http://stackoverflow.com/q/5466906/669611. Po prostu całkowicie usunęli

+0

Nie, Nie jest to łamacz rozdań z pewnością tylko drobnym szczegółem, ponieważ mój prawdziwy przycisk ma własny styl kliknięcia. Chciałbym go mieć i sprawić, by wyglądał tak samo w różnych przeglądarkach. Dzięki – Tim

Odpowiedz

1

Można zastosować kilka stylów do przycisku. przycisk {margin: 0px; padding: 0px;}

+0

wypełnienie: 0; było wszystko, co było potrzebne, aby to naprawić dla mnie w Firefoksie – seantunwin

20

można zatrzymać tekst porusza się w przycisk IE:

button:active span, button:focus span { 
    position:relative; 
    top: 0; 
    left: 0; 
} 

<button><span>no move</span></button> 

http://jsfiddle.net/dQVA7/

+2

Kluczem jest tutaj kierowanie dzieci do przycisku, a nie samego przycisku. Jest to domniemane, ale nie jest wyraźnie określone w odpowiedzi. Możesz również zastosować to do pseudoelementów: 'button: active :: before', etc. – gfullam

+1

@gfullam thanks man! Ta informacja, która towarzyszyła mi w odpowiedzi, pomogła mi. – PourMeSomeCode

6

Umieścić tekst na <span> i position:relative w nim, będzie to naprawić.

button span{ 
    position: relative; 
} 

Nie potrzeba górnym i lewo definicji.

-1

Jeśli nie przeszkadza przy użyciu JavaScript, widocznie to załatwia sprawę:

$(document).on('mousedown', 'button, input[type="button"], input[type="submit"]', function(e) { 
    e.preventDefault(); 
}); 
Powiązane problemy