2013-05-20 13 views
26

Mam formularz z wieloma przyciskami, gdzie używam JavaScript, aby przesłać drugi przycisk, gdy ktoś naciśnie enter.CSS usunąć domyślną niebieską granicę

Działa to świetnie, ale jeśli otworzę ten formularz w IE, pierwszy przycisk otrzyma niebieską ramkę, która mówi użytkownikowi "to jest przycisk, który zostanie naciśnięty po naciśnięciu klawisza Enter".

Czy istnieje sposób na usunięcie tego z CSS bez przesłonięcia reszty stylizacji przycisku?

default button style

Przykład:

<button onclick="javascript:alert('remove');">Remove name</button> 
+0

jakiś obraz lub kod byłoby miło – samayo

+0

@phpNoOb znajduje się obraz (przycisk), dodał trochę kodu .. – Peter

+1

Nie pokazując niebieskie obramowanie w moim IE8 – samayo

Odpowiedz

12

użyć tego kodu:

button { border:0;} 
+0

Na pewno usunęło niebieskie obramowanie, ale przekonwertowało przyciski na pola ... – Peter

+0

Czy istnieje sposób na posiadanie własnej niestandardowej granicy, ale nie na tej niebieskiej wewnętrznej granicy? Mogę pozbyć się obu lub nie ... – thomthom

2

To może pomóc. Stosować następujące właściwości CSS:

input, 
input:active, 
input:focus {  
    outline: 0;  
    outline-style: none;  
    outline-width: 0; 
} 
+1

To usunęło przerywaną linię (czarownicę, którą chciałem zachować), ale nie usunąłem niebieskiego obramowania ... – Peter

+0

Proszę, spróbuj tego. mam nadzieję, że ci to pomoże. input {background: none transparent; granica: brak; } Dla wersji demonstracyjnej Odwiedź ten link: http: //jsfiddle.net/dEvKb/64/ –

+0

im sorry, ale to usuwa domyślny styl z przycisków ("czy istnieje sposób na usunięcie tego z css bez nadpisania całego stylu przycisku?") – Peter

-2

Wystarczy dodać border-radius rozwijać przycisk wygląd:

-moz-border-radius:7px; 
-webkit-border-radius:7px; 
border-radius:7px; 
+0

To również zmienia układ, jedno pytanie czy wypróbowujesz rzeczy, które publikujesz lub po prostu zgadujesz? – Peter

+0

Programuję od 5 lat. Jeśli stworzysz nowy problem w sposobie rozwiązywania innych, możesz winić własne umiejętności, a nie inne, które dały ci pomysł, aby rozwiązać problem. –

+2

@TouhidRahman Jedna rekomendacja, proszę nie traktuj tego jako przestępstwa, ale pamiętaj, że jeśli twoja odpowiedź nie pasuje do wymagań OP, lub twój ansewr wygląda bez wysiłku, prawdopodobnie powinieneś uzyskać negatywny głos. Jeśli uważasz, że niemożliwe jest osiągnięcie dokładnie tego, co chce OP, wyjaśnij, dlaczego nie jest to możliwe (lub po prostu powiedz "to niemożliwe"), a następnie podaj swoją alternatywę, aby OP mógł zobaczyć, co najmniej próbowałeś. W innym przypadku wydaje się, że chcesz być najszybszym pistoletem;) – Arkana

-1
button{border:none; border-radius:4px; -moz-border-radius:4px;} 
2

użyć tego kodu:

button { 
    border : 0px; 
    -moz-border-radius:7px; 
    -webkit-border-radius:7px; 
    border-radius:7px; 
} 
+1

Chcę tylko usunąć obramowanie niebieskie (ostrość), a nie normalne obramowanie ... – Peter

24

że to powinno działać (tylko testowane IE10 na PC) dla granicy:

button { outline: 0; }

Chcesz usunąć tło (potrzebne w WebKit/Blink)?

Dodaj:

background: none;

trzeba pozbyć granicy (usuwa tło na IE10 zbyt):

border: 0;

+1

'button {outline: 0;}' wykonał sztuczkę w Chrome. Usunąłem już tło i ramkę, ale po kliknięciu przycisku w Chrome nadal była niebieska ramka. –

+1

To jest odpowiednia odpowiedź, którą należy podać autorowi, wybierając ją jako odpowiedź. – samuelkobe

0
#sideToggle:focus, #sideToggle:active{ 
    outline: 0;  
    outline-style:none;  
    outline-width:0; 
} 

to rozwiązać mój problem, czy ktoś wizyt Poczta. Dodałem własne style osobno, ponieważ nie są one kluczowe dla problemu.

6

moje rozwiązanie (po kilku miesiącach)

button:focus { 
outline: 0; 
box-shadow: none; 
} 
Powiązane problemy