Dlaczego Textarea
i textfield
nie brać font-family
i font-size
od ciała?
Zobacz przykład na żywo tutaj http://jsbin.com/ucano4
Kod
<!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>
Jeśli jest to normalne zachowanie, powinienem pisać w css w ten sposób. potrzebuję tego samego stylu we wszystkich
body,textarea,input {
font-family: Verdana, Geneva, sans-serif;
font-size:16px
}
A z ilu innych elementów XHTML, które nie będą miały stylu czcionki body {....}
?
textarea, input, button, select { font-family: inherit; font-size: inherit; }
.text-align: inherit
ponieważ teksty przycisków często są wyrównane na środku.Niektóre kontrolki nie dziedziczą domyślnie ustawień czcionek. Możesz to zmienić, umieszczając to w swoim CSS:
źródło
body, input, select, textarea { font-family:Verdana, Arial, Helvetica, sans-serif; font-size:11px; color:#FFFFFF; }
inherit
podejście.font-weight: inherit;
brakuje.Wszystkie przeglądarki mają wbudowane domyślne arkusze stylów. Dlatego kiedy tworzysz stronę bez zdefiniowanych stylów,
<h1>
tagi są duże i pogrubione, a<strong>
tekst jest pogrubiony. Podobnie style czcionek dla elementów<input>
i<textarea>
są zdefiniowane w stylach domyślnych.Aby zobaczyć ten arkusz stylów w przeglądarce Firefox, umieść go w pasku adresu:
resource://gre/res/forms.css
W każdym razie musisz zastąpić te style, tak jak każdy inny styl, tak jak w ostatnim przykładzie.
Jeśli zastanawiasz się, jakie inne style są zdefiniowane, sprawdź pliki CSS w swoich zasobach. Możesz uzyskać do nich dostęp poprzez powyższy adres URL lub zaglądając do swojego
res
folderu w katalogu firefox (npc:\program files\mozilla firefox\res
. :) . Oto te, które mogą wpływać na style zwykłych stron:źródło
<body>
ale<textarea>
nieh1
nie definiują czcionki, dlatego Twojebody
style mają pierwszeństwo. Style dlainput
definiują styl i są bardziej szczegółowe niż Twój selektor, więc wygrywa.Myślę, że ma na myśli to, że niektóre elementy są bardziej szczegółowe niż inne w DOM lub mają mniejszy zakres. Ponieważ textarea istnieje wewnątrz ciała, każdy styl zdefiniowany dla textarea nadpisze style body {}. Tak więc domyślny styl textarea FF nadpisuje twój styl ciała, nawet jeśli twój jest zdefiniowany później (zwykle coś nowszego będzie miało pierwszeństwo, ale nie, jeśli ma szerszy zakres / mniej szczegółowy).
źródło
Próbowałem różnych sztuczek, aby zatrzymać obszar tekstowy w telefonie komórkowym, używając znacznie większej czcionki niż zwykły tekst. Wygląda na to, że kiedy mój textarea miał cols = "45", czcionka była normalna, ale jak tylko została podniesiona do cols = "71", mimo że pozostawała wewnątrz znaczników td, czcionka urosła.
Na stronie Mozilli ( https://developer.mozilla.org/en-US/docs/Web/CSS/text-size-adjust ) znalazłem to
Wydaje mi się, że to najlepsza odpowiedź. Działa na komputerze PC, tablecie i, co najważniejsze, na moim telefonie z Androidem.
źródło