Pourquoi Textarea
et textfield
ne pas prendre font-family
et font-size
du corps?
Voir l'exemple en direct ici http://jsbin.com/ucano4
Code
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>texearea font</title>
<style type="text/css">
body {
font-family: Verdana, Geneva, sans-serif;
font-size:16px
}
</style>
</head>
<body>
<form action="" method="get">
<textarea name="" cols="20" rows="4"></textarea>
<input name="" type="text" />
</form>
<p>some text here</p>
</body>
</html>
Si c'est un comportement habituel, devrais-je écrire en CSS comme ceci. j'ai besoin du même style en tout
body,textarea,input {
font-family: Verdana, Geneva, sans-serif;
font-size:16px
}
Et combien d'autres éléments en XHTML qui ne prendront pas le style de police body {....}
?
textarea, input, button, select { font-family: inherit; font-size: inherit; }
.text-align: inherit
car les textes des boutons sont souvent alignés au centre.Certains contrôles ne sont pas définis par défaut pour hériter des paramètres de police. Vous pouvez remplacer cela en le plaçant dans votre CSS:
la source
body, input, select, textarea { font-family:Verdana, Arial, Helvetica, sans-serif; font-size:11px; color:#FFFFFF; }
inherit
approche.font-weight: inherit;
est manquant.Tous les navigateurs ont des feuilles de style par défaut intégrées. C'est pourquoi, lorsque vous créez une page sans aucun style défini, les
<h1>
balises sont grandes et en gras et<strong>
mettent le texte en gras. De même, les styles de police<input>
et les<textarea>
éléments sont définis dans les styles par défaut.Pour voir cette feuille de style dans Firefox, placez-la dans votre barre d'adresse:
resource://gre/res/forms.css
Quoi qu'il en soit, vous devez remplacer ces styles comme vous le feriez pour tout autre style comme vous l'avez fait dans ce dernier exemple.
Si vous vous demandez quels autres styles sont définis, consultez les fichiers CSS dans vos ressources. Vous pouvez y accéder via l'url ci-dessus, ou en regardant dans votre
res
dossier dans le répertoire firefox (par exemple:)c:\program files\mozilla firefox\res
. Ce sont ceux qui peuvent affecter les styles des pages normales:la source
<body>
mais<textarea>
pash1
ne définissent pas de police, vosbody
styles ont donc la priorité. Les styles deinput
définissent un style, et il est plus spécifique que votre sélecteur, donc il gagne.Je pense que ce qu'il veut dire, c'est que certains éléments sont plus spécifiques que d'autres dans le DOM, ou ont une portée plus petite. Puisqu'une zone de texte existe à l'intérieur du corps, tout style défini pour la zone de texte écrasera les styles de corps {}. Ainsi, le style de zone de texte par défaut de FF écrase votre style de corps, même si le vôtre est défini plus tard (généralement quelque chose de plus récent aura la priorité, mais pas si c'est dans une portée plus large / moins spécifique).
la source
J'ai essayé toutes sortes d'astuces pour arrêter textarea sur mobile en utilisant une police beaucoup plus grande que le texte normal. Il semble que lorsque ma zone de texte était cols = "45", la police était normale, mais dès qu'elle a été élevée à cols = "71", même si elle est restée à l'intérieur des balises td, la police s'est agrandie.
Sur la page mozilla ( https://developer.mozilla.org/en-US/docs/Web/CSS/text-size-adjust ) j'ai trouvé ceci
Cela me semble être la meilleure réponse. Cela fonctionne sur PC, tablette et, surtout, sur mon téléphone Android.
la source