Puoi usare un altro tag invece di input
e applicare FontAwesome nel modo normale.
invece del tuo input
con il tipo image
puoi usare questo:
<i class="icon-search icon-2x"></i>
CSS veloce :
.icon-search {
color:white;
background-color:black;
}
Ecco un violino veloce:
DEMO
Puoi modellarlo un po 'meglio e aggiungere funzionalità di eventi, all'oggetto i, cosa che puoi fare usando un <button type="submit">
oggetto invece di i
, o con javascript.
La soluzione del pulsante sarebbe qualcosa del genere:
<button type="submit" class="icon-search icon-large"></button>
E il CSS :
.icon-search {
height:32px;
width:32px;
border: none;
cursor: pointer;
color:white;
background-color:black;
position:relative;
}
ecco il mio violino aggiornato con il pulsante invece di i:
DEMO
Aggiornamento: utilizzo di FontAwesome su qualsiasi tag
Il problema con FontAwsome è che il suo foglio di stile utilizza :before
pseudo-elementi per aggiungere le icone a un elemento e gli pseudo-elementi non funzionano / non sono consentiti sugli input
elementi. Questo è il motivo per cui usare FontAwesome nel modo normale non funzionerà con input
.
Ma c'è una soluzione : puoi usare FontAwesome come un carattere normale in questo modo:
CSS:
input[type="submit"] {
font-family: FontAwesome;
}
HTML:
<input type="submit" class="search" value="" />
I glifi possono essere passati come valori value
dell'attributo. I codici ascii per le singole lettere / icone possono essere trovati nel file css FontAwesome, devi solo cambiarli in un numero ascii HTML simile \f002
a 
e dovrebbe funzionare.
Link alla FontAwesome codice ASCII ( bigino ): fortawesome.github.io/Font-Awesome/cheatsheet
La dimensione delle icone può essere facilmente regolata tramite font-size
.
Vedi l'esempio sopra usando un input
elemento in un jsfidde:
Aggiornamento: FontAwesome 5
Con FontAwesome versione 5 il CSS richiesto per questa soluzione è cambiato: il nome della famiglia di caratteri è cambiato e il peso del carattere deve essere specificato:
input[type="submit"] {
font-family: "Font Awesome 5 Free";
font-size: 1.3333333333333333em;
font-weight: 900;
}
Vedere il commento di @WillFastie con il collegamento al violino aggiornato qui sotto. Grazie!
:before
e quindi non funziona con i taginput
oimg
... ma esiste una soluzione semplice, ovvero utilizzare FontAwesome come carattere normale ... vedere la mia soluzione aggiornata sopra. Spero di recuperare il voto ;-)