Puede usar otra etiqueta en lugar de input
y aplicar FontAwesome de la forma habitual.
en lugar de su input
tipo con image
, puede usar esto:
<i class="icon-search icon-2x"></i>
CSS rápido :
.icon-search {
color:white;
background-color:black;
}
Aquí hay un violín rápido:
DEMO
Puede diseñarlo un poco mejor y agregar funcionalidad de evento al objeto i, lo que puede hacer usando un <button type="submit">
objeto en lugar de i
, o con javascript.
La solución del botón sería algo como esto:
<button type="submit" class="icon-search icon-large"></button>
Y el CSS :
.icon-search {
height:32px;
width:32px;
border: none;
cursor: pointer;
color:white;
background-color:black;
position:relative;
}
aquí está mi violín actualizado con el botón en lugar de i:
DEMO
Actualización: uso de FontAwesome en cualquier etiqueta
El problema con FontAwsome es que su hoja de estilo usa :before
pseudo-elementos para agregar los iconos a un elemento, y los pseudo elementos no funcionan / no están permitidos en los input
elementos. Es por eso que usar FontAwesome de la manera normal no funcionará con input
.
Pero hay una solución : puede usar FontAwesome como una fuente normal así:
CSS:
input[type="submit"] {
font-family: FontAwesome;
}
HTML:
<input type="submit" class="search" value="" />
Los glifos se pueden pasar como valores del value
atributo. Los códigos ASCII para las letras individuales / iconos se pueden encontrar en el archivo css FontAwesome, sólo tiene que cambiarlos en un número ASCII HTML como \f002
a 
y debería funcionar.
Enlace al código ascii de FontAwesome ( hoja de referencia ): fortawesome.github.io/Font-Awesome/cheatsheet
El tamaño de los iconos se puede ajustar fácilmente mediante font-size
.
Vea el ejemplo anterior usando un input
elemento en un jsfidde:
Actualización: FontAwesome 5
Con FontAwesome versión 5, el CSS requerido para esta solución ha cambiado: el nombre de la familia de fuentes ha cambiado y se debe especificar el peso de la fuente:
input[type="submit"] {
font-family: "Font Awesome 5 Free";
font-size: 1.3333333333333333em;
font-weight: 900;
}
Vea el comentario de @WillFastie con el enlace al violín actualizado a continuación. ¡Gracias!
:before
y, por lo tanto, no funcionará con etiquetasinput
oimg
... pero hay una solución simple, a saber, usar FontAwesome como fuente regular ... ver mi solución actualizada encima. Espero recuperar el voto ;-)