J'ai des champs d'entrée et d'étiquette:
<label class="adm" for="UserName">User name</label>
<input class="adm" id="UserName" name="UserName" size="30" type="text" value="" />
et 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; }
Lorsque le code s'ouvre dans Firefox, les polices ne sont pas les mêmes. Firebug montre que les deux "devraient" hériter et quand je regarde calculé, cela montre que l'étiquette utilise Verdana. Cependant, l'entrée montre qu'il utilise "MS Shell Dlg".
Quelqu'un peut-il expliquer ce qui se passe et pourquoi il ne semble pas obéir aux règles CSS normales?
Réponses:
Il n'hérite pas par défaut mais vous pouvez le définir pour hériter avec css
démo: http://jsfiddle.net/gaby/pEedc/1/
la source
input
intérieurlabel
, lalabel
balise n'hérite pas du CSS par défautLes éléments de formulaire (inputs / textarea / etc) n'héritent pas des informations de police. Vous devrez définir la famille de polices sur ces éléments.
la source
Trois ans plus tard, je trouve étrange
<input>
éléments de typesreset
,submit
etbutton
ne pas hériterfont-family
dans Chrome ou Safari. J'ai découvert qu'ils ne recevraient pas non plus de rembourrage.Mais lorsque je joue avec certaines propriétés, comme
background
,border
ou cetteappearance
propriété étrange , alorsfont-family
etpadding
j'ai un effet, mais l'apparence native du bouton est perdue, ce qui n'est pas un problème si vous restylez complètement les boutons.Si vous voulez un bouton natif, avec hérité
font-family
, utilisez l'<button>
élément à la place de<input>
.Voir Codepen .
la source
J'ai eu le même problème. Ce qui a fonctionné pour moi a été d'ajouter le style directement à l'élément d'entrée dans le html. Je code dans React fyi.
<input style={{fontFamily: "YOUR_FONT_CHOICE_HERE"}} />
la source