Estoy tratando de insertar un icono de usuario dentro del campo de entrada de nombre de usuario.
He intentado una de las soluciones de la pregunta similar
sabiendo que la background-image
propiedad no funcionará desde Font Awesome es una fuente.
El siguiente es mi enfoque y no puedo ver el ícono.
.wrapper input[type="text"] {
position: relative;
}
.wrapper input[type="text"]:before {
font-family: 'FontAwesome';
position: absolute;
top: 0px;
left: -5px;
content: "\f007";
}
Tengo la cara de fuente declarada en la fuente predeterminada impresionante CSS, así que no estaba seguro de si agregar la familia de fuentes anterior era el enfoque correcto.
@font-face {
font-family: 'FontAwesome';
src: url('../Font/fontawesome-webfont.eot?v=3.2.1');
src: url('../Font/fontawesome-webfont.eot?#iefix&v=3.2.1') format('embedded-opentype'), url('../Font/fontawesome-webfont.woff?v=3.2.1') format('woff'), url('../Font/fontawesome-webfont.ttf?v=3.2.1') format('truetype'), url('../Font/fontawesome-webfont.svg#fontawesomeregular?v=3.2.1') format('svg');
}
html
css
fonts
font-awesome
Seong Lee
fuente
fuente
Respuestas:
Tienes razón. : before y: after pseudo content no está destinado a trabajar en elementos
img
yinput
elementos reemplazados . Agregar un elemento de ajuste y declarar una familia de fuentes es una de las posibilidades, al igual que usar una imagen de fondo. O tal vez un texto de marcador de posición html5 se adapte a sus necesidades:Los navegadores que no admiten el atributo de marcador de posición simplemente lo ignorarán.
ACTUALIZAR
El selector de contenido antes selecciona la entrada:
input[type="text"]:before
. Debe seleccionar el envoltorio:.wrapper:before
. Ver http://jsfiddle.net/allcaps/gA4rx/ . También agregué la sugerencia de marcador de posición donde el contenedor es redundante.Retroceder
Font Awesome utiliza el Área de uso privado (PUA) de Unicode para almacenar íconos. Otros caracteres no están presentes y recurren al valor predeterminado del navegador. Eso debería ser lo mismo que cualquier otra entrada. Si define una fuente en los elementos de entrada, proporcione la misma fuente como alternativa para situaciones en las que usamos un icono. Me gusta esto:
fuente
input { font-family: 'FontAwesome' YourFont; }
. ¿Esto ayuda? Siempre puedes hacer una nueva pregunta.Salida:
HTML:
CSS:
(O)
Salida:
HTML:
CSS:
fuente
z-index: 1
hará que la entrada subyacente capte el foco cuando haga clic en el icono, algo que puede desear, por ejemplo, al agregar un selector de fechas.position: relative
(los márgenes negativos no lo necesitan) niz-index
(tan pronto como el elemento se procesa después de la entrada)Podrías usar un envoltorio. Dentro del contenedor, agregue el elemento de fuente impresionante
i
y elinput
elemento.luego establezca la posición del contenedor en relativa:
y luego establece la
i
posición del elemento en absoluto, y establece el lugar correcto para él:(Es un truco, lo sé, pero hace el trabajo).
fuente
Esta respuesta funcionará para usted si necesita que se cumplan las siguientes condiciones (ninguna de las respuestas actuales cumplió con estas condiciones):
Creo que 3 es el número mínimo de elementos HTML para satisfacer estas condiciones:
fuente
No es necesario codificar mucho ... solo siga los siguientes pasos:
puedes encontrar los enlaces a Unicode ( fontawesome ) aquí ...
FontAwesome Unicode para iconos
fuente
fuente
Después de leer varias versiones de esta pregunta y buscar, he encontrado una solución bastante limpia y sin js. Es similar a la solución @allcaps, pero evita el problema de que la fuente de entrada se cambie de la fuente del documento principal.
Usa el
::input-placeholder
atributo para específicamente el texto del marcador de posición. Esto le permite usar su fuente de icono como fuente de marcador de posición y su cuerpo (u otra fuente) como texto de entrada real. Actualmente necesita especificar selectores específicos del proveedor.Esto funciona bien siempre que no necesite una combinación de icono y texto en su elemento de entrada. Si lo hace, tendrá que soportar que el texto del marcador de posición sea la fuente predeterminada del navegador (serif simple en el mío) para las palabras.
Ej.
HTML
CSS
Violín con selectores prefijados del navegador: http://jsfiddle.net/gA4rx/78/
Tenga en cuenta que debe definir cada selector específico del navegador como una regla separada. Si los combina, el navegador lo ignorará.
fuente
font-family
este selector en este momento. Solo podemos esperar una aceptación más generalizada en el futuro.Encontré la forma más fácil de usar bootstrap 4.
fuente
Logré esto así
El resultado se ve así:
Nota al margen
Tenga en cuenta que estoy usando Ruby on Rails, por lo que mi código resultante parece un poco explotado. El código de vista en Slim es realmente muy conciso:
fuente
Para mí, una manera fácil de tener un ícono "dentro" de una entrada de texto sin tener que tratar de usar pseudo-elementos con fuente impresionante Unicode, etc., es tener la entrada de texto y el ícono dentro de un elemento contenedor que colocaremos en relación, y luego posicionar tanto la entrada de búsqueda como el ícono absoluto de la fuente absoluta.
De la misma manera que lo hacemos con imágenes de fondo y texto, lo haríamos aquí. Creo que esto también es bueno para los principiantes, ya que el posicionamiento CSS es algo que un principiante debería aprender al comienzo de su viaje de codificación, por lo que el código es fácil de entender y reutilizar.
fuente
Basándose en la sugerencia de allcaps. Aquí está el método de fondo de fuente impresionante con la menor cantidad de HTML:
fuente
Haga que se pueda hacer clic en el icono para enfocarse dentro del elemento de entrada de texto.
CSS
HTML
Simplemente agregue el ícono que desee dentro de la
<i>
etiqueta, desde la biblioteca Font Awesome y disfrute de los resultados.fuente
fuente
puramente CSS
fuente
Mi solución fue tener un contenedor relativo alrededor
input
para sostener el ícono. Ese contenedor externo tiene un::after
icono con el deseado, ubicadoabsolute
dentro del contenedor.HTML:
Código SASS:
fuente
Mi solución para agregar un icono de fuente impresionante dentro del elemento de entrada. Aquí hay un código simple para agregar un icono dentro del elemento de entrada. Simplemente copie el código a continuación y colóquelo donde desee agregarlo. o si desea cambiar el ícono, simplemente ponga su código de ícono en la
<i>
etiqueta.fuente
En algún momento, el icono no aparecerá debido a la versión Font Awesome. Para la versión 5, el CSS debería ser
fuente
Manera fácil, pero necesitas bootstrap
fuente
fuente
Probé las cosas a continuación y realmente funciona bien HTML
fuente
Para trabajar esto con Unicode o Fontawesome, debe agregar un
span
conclass
como a continuación:En HTML:
En CSS:
fuente
fuente