2013-03-16 20 views
17

Używanie tylko html i css, w jaki sposób wyłączyć niebieski (w Firefox) kolor podświetlenia wokół aktywnego pola wejściowego. Próbowałem już używać input {outline:none;}, ale bez powodzenia. Dzięki za pomoc! =)CSS - Usuwanie aktywnego podkreślenia pola wprowadzania

ok, ignorując poprzedni kod o konspekcie, wybrałem niewłaściwą właściwość do zmiany. Próbuję tylko usunąć podświetlanie (niezależnie od przeglądarki, pogrubioną i kolorową ramkę) wokół aktywnego pola wprowadzania formularzy, bez zmiany ani wyłączenia stylizacji. Thanks =)

+0

Działa dla mnie ... –

+0

Rozumiesz, że jest to uważane za funkcję ułatwień dostępu, prawda? – cimmanon

+0

Czy ktoś może pomóc? =) –

Odpowiedz

14

Zobacz tę fiddle.

Wygląda na to, że musisz ustawić właściwość border, aby działała outline: none. Jeśli skomentujesz w dyrektywie granicznej, kontur zniknie.

0

Aby usunąć spróbować podświetlający dodając tę ​​zasadę do pola (ów) wejściowego:

-moz-appearance:none; 

Można to również zrobić dla przeglądarek WebKit oparte stosując odpowiedni prefix:

-webkit-appearance:none; 

Powinno to zająć się dowolnymi granicami, konspektem itp. Przy użyciu tylko jednej właściwości CSS. W przypadku przeglądarek innych niż para WebKit i Firefox - Opera i IE - warto również dodać właściwości border i outline, zapewniając zgodność krzyżową przeglądarki.

+0

Niestety, wygląd nie jest obsługiwany przez IE i Operę. –

+0

Najnowszy webkit obsługuje konspekt: ​​brak poprawnie (wypróbowany na chromie właśnie teraz). @ alex-shesterov to dlatego te właściwości mają prefiksy -moz lub -webkit. – ohcibi

+0

@ alex-shesterov Dodam coś o nich teraz. – Blieque

6
input {border:0; outline:none;} 

powinien usunąć wszystkie krawędzie/kontury.

+0

W ten sposób nie będziesz już widział danych wejściowych. – ohcibi

+0

tak, dokładnie - ale czy tego nie chcesz? :) spróbuj 'border: 1px solid # 000;' lub 'border: thin inset;'. proszę opisać, jakiego wyglądu się spodziewasz ... –

+0

Nie chciałem niczego, ale OP mówi, że chce pozbyć się konturu, który jest wyświetlany w firefoxie, gdy wejście jest skupione. Nie mówi, że chce, aby granica widoczna we wszystkich przeglądarkach zniknęła. Ale ustawienie granicy wydaje się działać na korzyść FF, jak powiedziałem w mojej odpowiedzi. Chrome (ium) wydaje się być zadowolony z prostego schematu: brak; – ohcibi

5

Odpowiedź jest prostsza niż ja reliased:

box-shadow:none; 
13

Musisz użyć: deklaracja ostrości. W tym przypadku:

input:focus {outline:none;} 

Wszystko wprowadzić użytkownika w projekcie nie będą miały niebieskie obramowanie.

Jeśli chcesz konkretnego atrybutu, użyj tego:

input[type=text]:focus {outline:none;} 

Nadzieję, że to pomaga.=)

-1

ten powinien pracować dla większości typów wejść na Firefox:

input::-moz-focus-inner { border: 0; } 
+0

OP poprosił o rozwiązanie dla dowolnej przeglądarki, a nie tylko dla FF – Jinandra

+0

. Ah błędnie przeczytałem komentarz do nawiasów w drugim akapicie. To naprawia "wewnętrzną" obramowanie, a nie inne obramowanie/zewnętrzną granicę. – Mark

-1

najlepszym sposobem na osiągnięcie tego dla wszystkich przeglądarek w utrzymaniu tag wejściowy w innym znaczniku div, tak aby pokryć granica

HTML Kod

<div class='rel lef srch_blck'> 
    <input type='text' class='rel lef srch_pad' name='srch_inp'/> 
</div> 

do powyższej html pozwala dodać następujący kod CSS, aby usunąć granicy

.srch_blck{ overflow:hidden;width:298px;height:28px; } 
.srch_pad{ left:-1px;top:-1px;width:300px;height:31px; } 
1

Moje rozwiązanie jest, aby najpierw zabić przeglądarce domyślne na wejściach i nadać mu domyślną granicę takiego:

input[type="text"], 
input[type="password"], 
input[type="email"], 
input[type="tel"], 
input[type="url"], 
input[type="search"], 
textarea { 
    -moz-appearance: none; 
    -webkit-appearance: none; 
    border: 1px solid #ddd; 
} 

Potem zresetować dany box-shadow i przedstawić tak:

input[type="text"]:focus, 
input[type="password"]:focus, 
input[type="email"]:focus, 
input[type="tel"]:focus, 
input[type="url"]:focus, 
input[type="search"]:focus, 
textarea:focus { 
    border: 1px solid #ccc; 
    box-shadow: none !important; 
    outline: none !important; 
} 

Pracowałem dla mnie we wszystkich nowoczesnych przeglądarkach przetestowanych do tej pory (IE, FF, Chrome, Operah & Safari).

+0

Nie trzeba wcześniej resetować. Kod działa dla mnie bez resetingu. Testowany na FF, Chrome i Safari i działa dobrze. –

+0

Prawda - to nie jest konieczne, ale dla mnie to po prostu wydaje się bezpieczniejsze ..;) – Azragh

Powiązane problemy