2013-03-16 17 views
17

Utilizzando solo html e css, come disattivare il colore di evidenziazione blu (in Firefox) attorno a un campo di input attivo. Ho provato a utilizzare input {outline:none;} ma senza successo. Grazie per l'aiuto! =)CSS - Rimozione del campo di input evidenziazione attiva

ok, ignorando il precedente codice sulla struttura, ho scelto la proprietà errata da modificare. Quello che sto cercando di ottenere è semplicemente rimuovere l'evidenziazione (qualunque sia il browser, il suo bordo in grassetto e colorato che appare) attorno a un campo di input del modulo attivo, senza modificare o disabilitare lo stile. Grazie =)

+0

Funziona per me ... –

+0

Capisci che questa funzione è considerata di accessibilità, giusto? – cimmanon

+0

qualcuno può aiutare? =) –

risposta

14

Vedere questo fiddle.

Sembra che sia necessario impostare alcune proprietà del bordo per rendere operativo outline: none. Se si commenta la direttiva border, il contorno scompare.

0

per rimuovere l'evidenziazione prova ad aggiungere questa regola il campo di input (s):

-moz-appearance:none; 

Questo può essere fatto anche per i browser WebKit base utilizzando il rispettivo prefisso:

-webkit-appearance:none; 

Questo dovrebbe occuparsi di qualsiasi confine, contorno, ecc. Usando solo una proprietà CSS. Per i browser diversi dalla coppia WebKit e Firefox - Opera e IE - è consigliabile includere anche le proprietà border e outline, garantendo la compatibilità incrociata del browser.

+0

sfortunatamente, l'aspetto non è supportato da IE e Opera. –

+0

Ultimo webkit sembra supportare il contorno: nessuno correttamente (provato su cromo proprio ora). @ alex-shesterov questo è il motivo per cui queste proprietà hanno prefissi -moz o -webkit. – ohcibi

+0

@ alex-shesterov Aggiungerò qualcosa su di loro ora. – Blieque

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

dovrebbe rimuovere tutti i bordi/contorni.

+0

Come questo non vedrai più l'input. – ohcibi

+0

sì, esattamente - ma non è questo quello che volevi? :) try 'border: 1px solid # 000;' or 'border: thin inset;'. per favore descrivi quale aspetto ti aspetti ... –

+0

Non volevo nulla, ma l'OP dice che vuole eliminare il contorno, che viene visualizzato in firefox quando l'input è focalizzato. Non dice che vuole che il bordo visibile in tutti i browser sparisca. Ma impostare un confine sembra fare il trucco su FF, come ho detto nella mia risposta. Chrome (ium) sembra essere soddisfatto solo del contorno: nessuno; – ohcibi

5

La risposta è più semplice di quanto mi reliased:

box-shadow:none; 
13

Devi usare: dichiarazione di messa a fuoco. In questo caso:

input:focus {outline:none;} 

Tutto l'input del nel progetto non avranno il bordo blu.

Se si desidera un attributo specifico, utilizzare questo:

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

Speranza che aiuta.=)

-1

Questo dovrebbe funzionare per la maggior parte dei tipi di ingresso su Firefox:

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

OP ha chiesto una soluzione per qualsiasi browser e non solo per FF – Jinandra

+0

Ah ho letto male il commento di parentesi nel secondo paragrafo. Questo risolve il bordo "interno", piuttosto che l'altro contorno/bordo esterno. – Mark

-1

miglior modo di fare che per tutti i browser nel mantenere il vostro tag input in un altro tag div in modo da coprire confine

HTML codice

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

sopra html lascia aggiungere il seguente CSS per avere rimuovere confine

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

La mia soluzione è quello di uccidere prima i browser di default su ingressi e dargli un bordo predefinito come questo:

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; 
} 

Poi ho azzerare il dato box-shadow e delineare così:

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; 
} 

Ha funzionato per me in tutti i moderni browser testati finora (IE, FF, Chrome, Opera & Safari).

+0

Non è necessario reimpostare prima. Il codice funziona per me senza resettare. Testato su FF, Chrome e Safari e funziona perfettamente. –

+0

Vero - non è necessario, ma per me è solo più sicuro ..;) – Azragh

Problemi correlati