2009-08-15 10 views
6

Wenn ich die Eingabetaste in einem Textfeld, die Whitespace-Attribut auf Nowrap durch CSS eingestellt hat, ist es unwirksam. Keine neue Zeile wird erstellt. Einlesen eines einfachen Leerraums erscheint. Dies gilt nur für IE8. Ich habe die aktuelle Version von Opera, Chrome und Firefox ausprobiert und ich habe solche Probleme nicht festgestellt. Haben Sie eine Lösung dafür?eingeben funktioniert nicht in Textarea in Internet Explorer 8

Dank ..

Ich habe dies:

.gwt-TextArea 
{ 
white-space:nowrap; 
} 

wo GWT-TextArea- den Textbereich setzt.

Auch ich habe versucht

.gwt-TextArea 
    { 
    white-space:pre; 
    } 

Es scheint, um das gleiche Ergebnis zu erhalten.

+0

FML, das gleiche Problem hier .. – cen

Antwort

5

This article sagt Internet Explorer ignoriert Zeilenumbrüche with white-space: nowrap.

Ihr Fix ist zu verwenden white-space: pre. Erhält das dein gewünschtes Verhalten?

+0

Nein, es ist das gleiche. – Aftershock

0

die verfügbaren Optionen (hier: Quirksmode.org), sind:

  • normalen
  • nowrap, IE5.5 +
  • pre, IE6 +
  • pre-line IE8
  • Pre- wickeln Sie IE8

Es könnte sich lohnen, white-space: normal zu verwenden (ich don ' Ich habe IE, mit dem zu experimentieren, aber ich stelle mir vor, dass normal standardmäßig verfügbar wäre, wenn es möglich ist, den Zustand zu ab normal zu ändern).


Bearbeitet, in Bezug auf die Kommentar/Antwort des OP.

Verwenden Sie einen Doctype? (Ich empfehle die Verwendung <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">)

Angenommen, Sie sind, gibt es eine Chance, Sie könnten einen Link zu einer Demo-Seite veröffentlichen? Oder poste vielleicht deine (x) html und css, um zu sehen, ob es irgendeine Art von Stil-Überschreibung oder Tippfehler gibt, die verhindert, dass die CSS angewendet wird?

+1

Pre-Line ist nicht in Ordnung, es speichert keine Leerzeichen und Tabs. Ich habe es vorprobiert, es funktioniert nicht. Normal ist der umhüllte Modus, der auch nicht geholfen hat. Ich schaute auf quirksmode.org. Es behauptet, IE8 sei vollständig kompatibel in Bezug auf Pre und Nowrap. Es scheint mir nicht so. Zumindest für Textareas. – Aftershock

1

Muss es CSS-Lösung sein? Wenn nicht, könnten Sie Attribut wrap = "off" für textarea zuweisen.

+0

Ich hatte ein inkonsistentes Verhalten zwischen IE9 und Chrome 13. Das Festlegen des Attributs wrap = "off" funktionierte in beiden Browsern gleich. – jwatts1980

5

Also, die Lösung ist, leider, dies -
Für Internet Explorer 7 wird jeder white-space Wert anders als pre dieses Problem verursachen.
Für Internet Explorer 8 wird ein beliebiger Wert white-space anders als pre-wrap dieses Problem verursachen.

Ich habe Internet Explorer 9 jedoch nicht ausprobiert.
Falls dies auch dort passiert, erstellen Sie einfach eine leere Seite mit (einem Doctype und) a <textarea>, öffnen Sie es und drücken Sie F12.Geben Sie in der Konsole (Registerkarte "Skripts") console.log(document.getElementsByTagName("TEXTAREA")[0].currentStyle.whiteSpace) ein und verwenden Sie einfach den Wert, der in der Ausgabe als Wert der white-space-Eigenschaft von <textarea> angezeigt wird.

aktualisieren

habe ich versucht, Internet Explorer 11 Emulationsmodi da Internet Explorer 7-Modus, es ist wie Chrome im Quirks-Modus (das heißt, nur white-space: normal und white-space: nowrap Ursache dieser Ausgabe) verhält. Ich nehme an, dass sie (unbeabsichtigt?) Einige Fixes in die meisten Emulationsmodi zurückportiert haben.

+0

Dieses Problem ist in Internet Explorer 11 weiterhin vorhanden, auch wenn Sie den Wert für den 'white-space' explizit auf 'normal' setzen. – wangkaibule

+0

@wangkaibule - Chrome ignoriert neue Zeilen, wenn Sie es auf 'normal' oder' nowrap' setzen. Ich denke, das ist Absicht. Internet Explorer 11 behob den Rest jedoch. Ich habe meine Antwort mit Daten zum Internet Explorer 11 aktualisiert. – PhistucK

Verwandte Themen