Vererbung und Textarea
Utz
- css
0 AndreasW0 Utz0 Kai Lahmann0 Utz0 Kai Lahmann0 Utz0 Kai Lahmann0 Utz
Hi zusammen,
ich bin ein fauler Mensch, deshalb mag ich es gerne, wenn sich CSS-Eigenschaften möglichst hübsch vererben. So z.B. für die Basis-Schrift, die überall sein soll, wo nix anderes definiert ist:
body, td
{
font-family: Arial,Helvetica,Switzerland,Univers,sans-serif;
font-size: 10pt;
}
(wobei das td da nur steht, weil NS 4 sonst an der Grenze die Vererbung aufhören würde)
Das klappt ja auch prima, es gibt aber ein Element, das dadurch nicht erwischt wird, und zwar: <textarea>...</textarea> (<input>-Elemente in der selben Form aber schon!). Und zwar gleichartig bei IE, NS 4 und Mozilla. Da stellt sich mir die Frage: warum? An einen einheitlichen Bug bei drei verschiedenen Browsern mag ich nicht glauben, also gibt's wahrscheinlich irgend nen Grund dafür, warum Schriftartenvererbung auf Texatareas nicht klappt. Bloß: welchen?
Grüße,
Utz
PS: Ich frage das nur weil ich gern wissen würde was dahinter steckt. Auf
body, td, textarea
{
font-family: Arial,Helvetica,Switzerland,Univers,sans-serif;
font-size: 10pt;
}
bin ich dann schon noch gekommen ;-)
Hi zusammen,
Tach,
Das klappt ja auch prima, es gibt aber ein Element, das dadurch nicht erwischt wird, und zwar: <textarea>...</textarea> (<input>-Elemente in der selben Form aber schon!). Und zwar gleichartig bei
IE, NS 4 und Mozilla. Da stellt sich mir die Frage: warum? An einen einheitlichen Bug bei drei verschiedenen Browsern mag ich nicht glauben, also gibt's wahrscheinlich irgend nen Grund dafür, warum Schriftartenvererbung auf Texatareas nicht klappt. Bloß: welchen?
Mehrzeiliges Eingabefeld, da wird standardmäßig ein monospace-Font eingesetzt, damit die Spalten schön untereinanderstehen.
Abgesehen davon, es gibt weitere Elemente, die da keine Vererbung der Schriftart als Standard haben (pre und tt, um mal zwei zu nennen).
Andreas
Hi Andreas,
Mehrzeiliges Eingabefeld, da wird standardmäßig ein monospace-Font eingesetzt, damit die Spalten schön untereinanderstehen.
Abgesehen davon, es gibt weitere Elemente, die da keine Vererbung der Schriftart als Standard haben (pre und tt, um mal zwei zu nennen).
Klingt einleuchtend, aber andererseits: wer entscheidet denn darüber, auf welche Elemente vererbt wird und auf welche nicht? Im hab mal in den Specs gekramt und dazu nur gefunden:
'font-family' (...) inherited: yes (http://www.w3.org/TR/REC-CSS1#font-family, bei CSS2 inhaltlich genauso).
Und dann, ganz allgemein:
"Some style properties are not inherited from the parent element to the child element. Most often it is intuitive why this is not the case. E.g., the 'background' property does not inherit, but the parent element's background will shine through by default." (http://www.w3.org/TR/REC-CSS1#inheritance) - das verstehe ich aber eher als Erklärung dafür, warum es überhaupt nicht-vererbende Eigenschaften gibt, nicht so, dass vererbende Eigenschaften auf manche Elemente halt einfach nicht vererben.
Hm, vermutlich übersehe ich da was ganz offensichtliches...
Grüße,
Utz
hi
Klingt einleuchtend, aber andererseits: wer entscheidet denn darüber, auf welche Elemente vererbt wird und auf welche nicht?
immer, wenn für ein Element eine spezielle Elgeschaft vordefiniert ist, gibt es keinen inherit.
Grüße aus Bleckede
Kai
Hi Kai,
sorry dass ich hier aus rein akademischem Interesse so rumnerve, aber ich würd's einfach gern verstehen.
immer, wenn für ein Element eine spezielle Elgeschaft vordefiniert ist, gibt es keinen inherit.
Da ich nichts über bestimmte HTML-Elemente in den CSS-Specs finde, verstehe ich das jetzt einfach mal so, dass Du Definitionen der HTML-Spec meinst.
Da finde ich für <tt>: "TT: Renders as teletype or monospaced text." (http://www.w3.org/TR/html4/present/graphics.html#edef-TT) - da ist klar, dass <tt> nicht in Arial angezeigt werden kann.
Und für <pre>: "May render text with a fixed-pitch font." (http://www.w3.org/TR/html4/struct/text.html#edef-PRE) - immerhin eine Empfehlung, wenn auch keine Definition.
Aber bei <textarea>? Nichts zu finden, was irgendwie als Aussage über die Schriftart zu deuten wäre (http://www.w3.org/TR/html4/interact/forms.html#h-17.7).
Mir bleibt die Sache weiterhin ein Rätsel...
Grüße,
Utz
hi
Aber bei <textarea>? Nichts zu finden, was irgendwie als Aussage über die Schriftart zu deuten wäre (http://www.w3.org/TR/html4/interact/forms.html#h-17.7).
im anhang gibt es eine komplette Datei mit default-styles - da steht das auch für <textarea> und teilweise auchg <input/> drin.
Grüße aus Bleckede
Kai
Hi,
im anhang gibt es eine komplette Datei mit default-styles - da steht das auch für <textarea> und teilweise auchg <input/> drin.
Im Anhang von was? Ich finde in den Anhängen der Specs HTML 4.01, XHTML 1.0, CSS Level 1 und CSS Level 2 nichts derartiges...die Suchfunktion auf w3.org übrigens auch nicht...hast Du nen Link?
Grüße,
Utz
hi
http://www.w3.org/TR/REC-CSS2/sample.html
..die <textarea> find' ich da jetzt aber auch so schnell nicht...
Grüße aus Bleckede
Kai
Hi Kai,
Ach, die meintest Du - dankeschön! - die hab ich nur überflogen, weil da "This appendix is informative, not normative" oben drüber steht. Dass da auch "Developers are encouraged to use it as a default style sheet in their implementations" steht, war mir entgangen.
..die <textarea> find' ich da jetzt aber auch so schnell nicht...
...was wohl daran liegt, dass sie nicht vertreten ist :-) Da steht nämlich auch: "The full presentation of some HTML elements cannot be expressed in CSS2, including (...) form control elements", weswegen gleich mal alle zu Forms gehörenden Elemente (soweit ich das überblicke) in der Liste weggelassen wurden.
Falls es wen interessiert, hier die Elemente, denen laut dieser Liste ein Wert der font-family-Eigenschaft zugewiesen wird und auf die damit entsprechende CSS-Anweisungen nicht vererbt werden: PRE, TT, CODE, KBD, SAMP.
Das für mich eigentliche Rätsel - warum das nämlich auch bei textarea so ist - scheint immer noch ungeklärt zu sein, bzw. ich vermute jetzt einfach mal, dass das deswegen alle so machen, weil es schon immer alle so gemacht haben...
Grüße,
Utz
hi
Ach, die meintest Du - dankeschön! - die hab ich nur überflogen, weil da "This appendix is informative, not normative" oben drüber steht. Dass da auch "Developers are encouraged to use it as a default style sheet in their implementations" steht, war mir entgangen.
das ist auch der Text, den Netscape4-Anhänger mit freuden ignorieren, weil NN4 dies nicht nur schlecht umsetzt, sondern schlicht dazu inkompatibel ist.
...was wohl daran liegt, dass sie nicht vertreten ist :-) Da steht nämlich auch: "The full presentation of some HTML elements cannot be expressed in CSS2, including (...) form control elements", weswegen gleich mal alle zu Forms gehörenden Elemente (soweit ich das überblicke) in der Liste weggelassen wurden.
jup, im CSS3-Zusammenhang kommt das noch nach - allerdings wird hier gleich von 'appearance:field; statt von einer direkten Schriftart geredet.
http://www.w3.org/TR/2002/WD-css3-ui-20020802/#qA
Grüße aus Bleckede
Kai