Entwickler-Ecke

Off Topic - IE7/8, Quirksmode, Textarea und Style overflow-y: visible


Narses - Di 26.04.11 23:07
Titel: IE7/8, Quirksmode, Textarea und Style overflow-y: visible
Moin!

Ich hätte da mal gerne wieder ein Problem. ;)

Betrachten wir folgenden Code:

Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
  <head>
    <title>test</title>
  </head>
  <body>
    <textarea style="overflow-y: visible;">test</textarea>
  </body>
</html>
Sinn ist offensichtlich: ein mehrzeiliges Texteingabefeld soll mit dem Inhalt vertikal größer werden. Das klappt auch alles ganz fein, wenn man im IE-Quirks-Mode [http://www.quirksmode.org/css/quirksmode.html] ist (dazu den markierten Teil im Doctype-Header weglassen). Das ist aber kein W3C-konformer Doctype [http://de.selfhtml.org/html/allgemein/grundgeruest.htm#dokumenttyp], den hat man erst mit der DTD-Angabe und dann schaltet der IE auch erst in den Standard-konformen Modus (in dem z.B. dann auch nur der Style "position: fixed;" funktioniert). Dann allerdings funktioniert die Overflow-Regel nicht mehr im IE :autsch: und man kriegt eine vertikale Scrollbar, fertig. :bawling:

Gut, wir können uns jetzt lange und sinnlos über diesen Browser auslassen oder das einfach hinnehmen, diesen Umstand kann ich leider nicht ändern. Die Anwendung wird nun mal nur im IE betrieben, Punkt. :nixweiss:

Wie in drei Teufels Namen :twisted: kriege ich dieses Stück SW-Sondermüll nun wieder dazu, die Overflow-Regel zu beachten!? :flehan:

cu
Narses


Yogu - Di 26.04.11 23:57

Hallo,

das ist der Internet Explorer im Quirks Mode aber so ziemlich der einzige Browser, der die Textarea in der Höhe wachsen lässt. Firefox, Chrome und Opera machen das nicht. Das, was du vorhast, wird also ohnehin nur im Internet Explorer laufen - und dann ist die W3C-konformität wohl erstmal zweitrangig.

Grüße,
Yogu


jaenicke - Mi 27.04.11 03:14

user profile iconNarses hat folgendes geschrieben Zum zitierten Posting springen:
Wie in drei Teufels Namen :twisted: kriege ich dieses Stück SW-Sondermüll nun wieder dazu, die Overflow-Regel zu beachten!? :flehan:
Das tut er. Denn standardkonform ist, wenn er sich genau so verhält wie er es im standardkonformen Modus tut. ;-)
http://www.w3.org/TR/css3-box/ hat folgendes geschrieben:
The computed values of ‘overflow-x’ and ‘overflow-y’ are the same as their specified values, except that some combinations with ‘visible’ are not possible: if one is specified as ‘visible’ and the other is ‘scroll’ or ‘auto’, then ‘visible’ is set to ‘auto’.
Heißt:
Wenn du willst, dass er sich nicht standardkonform verhält wie hier, musst du dafür sorgen, dass er gerade nicht in den standardkonformen Modus wechselt.

Für eine Textarea macht das allerdings kein Browser so, dass er bei beiden Richtungen visible die Textbox expandiert (wie der zitierte Text ja impliziert). Ich habe keine Spezifikation gefunden, die das so regelt wie es alle Browser im standardkonformen Modus tun. Aber da es alle tun, denke ich einmal, dass es irgendwo so spezifiziert sein wird... :nixweiss:

Insofern denke ich, dass sich die Browser vermutlich korrekt verhalten und du Glück hast, dass der IE 7 es im Quirksmodus nicht tut und du zufälligerweise genau dieses Fehlverhalten haben möchtest. :zwinker:


Narses - Mi 27.04.11 12:52

Moin!

user profile iconjaenicke hat folgendes geschrieben Zum zitierten Posting springen:
Insofern denke ich, dass sich die Browser vermutlich korrekt verhalten und du Glück hast, dass der IE 7 es im Quirksmodus nicht tut und du zufälligerweise genau dieses Fehlverhalten haben möchtest. :zwinker:
Hmm... :? scheint tatsächlich der "Standard" zu sein. :| Ich finde nämlich auch seit 2 Tagen nix, was in diese Richtung geht. :bawling:

Wird also wohl auf +/- Buttons hinauslaufen, um das Control anzupassen. :roll: Man, blöder MS-Quirks-Kack, wenn man einmal von der Existenz so eines Features "verwöhnt" wurde, kann man´s echt nur schwer wieder hergeben. :(

cu
Narses


jaenicke - Mi 27.04.11 14:30

user profile iconNarses hat folgendes geschrieben Zum zitierten Posting springen:
Wird also wohl auf +/- Buttons hinauslaufen, um das Control anzupassen.
Vielleicht lässt sich ja auch eine Lösung wie in Chrome machen. Da kann ich einfach alle Textareas (wie auch diese im Forum hier) in der Größe anpassen, indem ich die Ecke ziehe.
Ob das bei deiner Zielgruppe Sinn macht, musst du selbst schauen. :mrgreen:

Es wird jedenfalls schon einen Sinn haben, dass im Forum auch die Knopflösung drin ist. :D