¿Cómo puedo agregar un glifo a un cuadro de entrada de tipo de texto? Por ejemplo, quiero tener 'icon-user' en una entrada de nombre de usuario, algo como esto:
css
twitter-bootstrap
glyphicons
doovers
fuente
fuente
Respuestas:
Sin Bootstrap:
Llegaremos a Bootstrap en un segundo, pero aquí están los conceptos fundamentales de CSS en juego para hacerlo usted mismo. Como señala barba de presa , puede hacer esto con CSS colocando absolutamente el icono dentro del elemento de entrada. Luego agregue relleno a cada lado para que el texto no se superponga con el icono.
Entonces para el siguiente HTML:
Puede usar el siguiente CSS para alinear glifos a izquierda y derecha:
Demo en Plunker
Con Bootstrap:
Como señala el búfer , esto se puede lograr de forma nativa dentro de Bootstrap mediante el uso de Estados de validación con iconos opcionales . Esto se hace dando al
.form-group
elemento la clase de.has-feedback
y al icono la clase de.form-control-feedback
.El ejemplo más simple sería algo como esto:
Pros :
Contras :
Para superar las desventajas, armé esta solicitud de extracción con cambios para admitir iconos alineados a la izquierda. Como es un cambio relativamente grande, se pospuso hasta una versión futura, pero si necesita estas características hoy , aquí hay una guía de implementación simple:
Solo incluya estos cambios de formulario en css (también en línea a través de un fragmento de pila oculto en la parte inferior)
* MENOS : alternativamente, si está construyendo a través de menos , aquí están los cambios de formulario en menos
Luego, todo lo que tiene que hacer es incluir la clase
.has-feedback-left
en cualquier grupo que tenga la clase.has-feedback
para alinear a la izquierda el icono.Dado que hay muchas configuraciones html posibles para diferentes tipos de formularios, diferentes tamaños de control, diferentes conjuntos de iconos y diferentes visibilidades de etiquetas, creé una página de prueba que muestra el conjunto correcto de HTML para cada permutación junto con una demostración en vivo.
Aquí hay una demostración en Plunker
¿No encontraste lo que estabas buscando ? Pruebe estas preguntas similares:
Adición de CSS para iconos de comentarios alineados a la izquierda
Mostrar fragmento de código
fuente
.focusedInput
clase se define después, de.input-group-addon
modo que cuando las hojas de estilo caen en cascada , los últimos estilos deben tener prioridad. ¿Puedes describir mejor el escenario que llevó a que esto sea un problema?<i class="icon-user"></i>
a<i class="fa fa-user"></i>
. Cada vez que esté pensando en actualizar bibliotecas externas, asegúrese de leer las notas de la versión y la nueva documentación para determinar si su aplicación aún es compatible o necesita actualizarse.El método oficial . No se requiere CSS personalizado:
DEMO: http://jsfiddle.net/LS2Ek/1/
Esta demostración se basa en un ejemplo en los documentos de Bootstrap. Desplácese hacia abajo hasta "Con iconos opcionales" aquí http://getbootstrap.com/css/#forms-control-validation
fuente
{left:0}
a la clase glyphicon debe ocuparse de la alineación izquierda. jsfiddle.net/LS2Ek/30 . Sin embargo, me gusta su enfoque de esquema + sombra de cuadro. Se ve bien!left:0
ya no identifica el inicio de la entrada. También deberá agregar relleno a la izquierda de la entrada y eliminarlo a la derecha. Aún así, una solución muy agradable y limpia. Creo que identificar la izquierda de la entrada es la parte difícil, que es dondeposition:relative
resulta útil un contenedor con .Aquí hay una alternativa solo para CSS. Configuré esto para un campo de búsqueda para obtener un efecto similar a Firefox (y cientos de otras aplicaciones).
Aquí hay un violín .
HTML
CSS
fuente
Así es como lo hice usando solo el bootstrap CSS v3.3.1 predeterminado:
Y así es como se ve:
fuente
Este 'truco' funcionará con el efecto secundario de que la clase glyphicon cambiará la fuente para el control de entrada.
Violín
Si desea deshacerse del efecto secundario, puede eliminar la clase "glyphicon" y agregar el siguiente CSS (puede haber una mejor manera de diseñar el pseudo elemento marcador de posición y solo lo he probado en Chrome).
Violín
Posiblemente una solución aún más limpia:
Violín
CSS
HTML
fuente
Se puede hacer usando clases de la versión oficial de bootstrap 3.x, sin ningún CSS personalizado.
Use
input-group-addon
antes de la etiqueta de entrada,input-group
luego use cualquiera de los glifos, aquí está el códigoAquí está la salida
Para personalizarlo, agregue un par de líneas de CSS personalizado a su propio archivo custom.css (ajuste el relleno si es necesario)
Al hacer el fondo
input-group-addon
transparente y hacer que el gradiente izquierdo de la etiqueta de entrada sea cero, la entrada tendrá una apariencia perfecta. Aquí está la salida personalizadaAquí hay un ejemplo de jsbin
Esto resolverá los problemas de css personalizados de superposición con etiquetas, alineación durante el uso
input-lg
y enfoque en el problema de la pestaña.fuente
Aquí hay una solución sin bootstrap que mantiene su marcado simple al incrustar la representación de la imagen del glificón directamente en el CSS utilizando la codificación URI base64.
fuente
Si está utilizando Fontawesome , puede hacer esto:
Resultado
La lista completa de Unicode se puede encontrar en la referencia del icono The Font Awesome 4.6.3 completa
fuente
fuente
Aquí hay otra forma de hacerlo colocando el glificón usando el
:before
pseudo elemento en CSS.Demostración de trabajo en jsFiddle
Para este HTML:
Use este CSS ( Bootstrap 3.xy navegadores basados en Webkit compatibles )
Como dijo @Frizi, tenemos que agregar
pointer-events: none;
para que el cursor no interfiera con el foco de entrada. Todas las demás reglas CSS son para centrar y agregar el espaciado adecuado.El resultado:
fuente
Puedes usar su HTML Unicode
Así que para añadir un icono de usuario, sólo tiene que añadir

a laplaceholder
atributo o donde lo desee.Es posible que desee consultar esta hoja de trucos .
Ejemplo:
fuente
También tengo una decisión para este caso con Bootstrap 3.3.5:
En la entrada tengo algo como esto:
fuente
Probado con Bootstrap 4.
Tome un
form-control
y agréguelois-valid
a su clase. Observe cómo el control se vuelve verde, pero lo más importante, observe el icono de marca de verificación a la derecha del control. ¡Esto es lo que queremos!Ejemplo:
fuente
Si tiene la suerte de necesitar solo navegadores modernos: pruebe css transform translate. Esto no requiere envoltorios, y puede personalizarse para que pueda permitir más espacio para la entrada [tipo = número] para acomodar el control giratorio de entrada, o moverlo a la izquierda del controlador.
http://codepen.io/anon/pen/RPRmNq?editors=110
fuente
Debería poder hacer esto con las clases de bootstrap existentes y un poco de estilo personalizado.
Editar El icono se hace referencia a través de la
icon-user
clase. Esta respuesta se escribió en el momento de Bootstrap versión 2. Puede ver la referencia en la siguiente página: http://getbootstrap.com/2.3.2/base-css.html#imagesfuente