Puede usar otra etiqueta en lugar de inputy aplicar FontAwesome de la forma habitual.
en lugar de su inputtipo 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 :beforepseudo-elementos para agregar los iconos a un elemento, y los pseudo elementos no funcionan / no están permitidos en los inputelementos. 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 valueatributo. 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 \f002a 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 inputelemento 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!
:beforey, por lo tanto, no funcionará con etiquetasinputoimg... pero hay una solución simple, a saber, usar FontAwesome como fuente regular ... ver mi solución actualizada encima. Espero recuperar el voto ;-)