Tengo campos de entrada y etiqueta:
<label class="adm" for="UserName">User name</label>
<input class="adm" id="UserName" name="UserName" size="30" type="text" value="" />
y CSS:
body,html { font-family: Verdana,Arial,Helvetica,sans-serif; margin:0; padding:0; color: #111;}
label.adm { font-size:0.9em; margin:0 0 3px 3px; display: block;}
input.adm { font-size:0.9em; margin:0 0 3px 3px; }
Cuando el código se abre en Firefox, las fuentes no son las mismas. Firebug muestra que ambos "deberían" heredar y cuando miro calculado, muestra que la etiqueta usa Verdana. Sin embargo, la entrada muestra que usa "MS Shell Dlg".
¿Alguien puede explicar qué está sucediendo y por qué no parece obedecer las reglas normales de CSS?
Respuestas:
No hereda de forma predeterminada, pero puede configurarlo para heredar con css
demostración: http://jsfiddle.net/gaby/pEedc/1/
fuente
input
interiorlabel
, lalabel
etiqueta no hereda el CSS predeterminadoLos elementos de formulario (entradas / área de texto / etc.) no heredan información de fuente. Deberá establecer la familia de fuentes en esos elementos.
fuente
Tres años más tarde, se me hace extraños
<input>
elementos de tiposreset
,submit
ybutton
no heredanfont-family
en Chrome o Safari. Descubrí que tampoco recibirían relleno.Pero cuando me meto con ciertas propiedades, como
background
,border
o estaappearance
propiedad extraña , entoncesfont-family
ypadding
tiene efecto, pero se pierde la apariencia nativa del botón, lo cual no es un problema si está rediseñando completamente los botones.Si desea un botón de aspecto nativo, con heredado
font-family
, use el<button>
elemento en lugar de<input>
.Ver Codepen .
fuente
Tuve el mismo problema. Lo que funcionó para mí fue agregar el estilo directamente al elemento de entrada en el html. Estoy codificando en React fyi.
<input style={{fontFamily: "YOUR_FONT_CHOICE_HERE"}} />
fuente