Ich muss Inline-Element contenteditable
machen. Es funktioniert gut für Chrome/Firefox, aber IE (mindestens 11) fügt Zeilenumbrüche vor und nach der Spanne ein, wenn es contenteditable
ist.Zeilenumbruch vor und nach Inline contenteditable Element in IE
Link zu fummeln: https://jsfiddle.net/nokpy02g/1/
Dies ist, wie es in Chrome aussieht:
Und das ist IE:
irgendeine WeiseGibt es ist etwas reparieren?
UPD:
My IE Version:
IE-Modus auf meine Geige Seite:
Auch ich bin mit Windows 7 Professional, 64bit
Ich kann keinen Grund sehen, ein Kind Element eines Absatzes zu bearbeiten, ein bisschen sinnlos. Du könntest versuchen, 'float: left;': 'p * [contenteditable] {float: left;}' ist alles, außer du * willst * wirklich * verrückt * sein und das Problem umschreiben. Ich würde aber empfehlen, nur * Inline-Elemente zu überarbeiten. – John
@John Nun, leider habe ich bereits eine Menge Code, der diesen Ansatz verwendet, so dass es unmöglich ist, einen anderen Ansatz zu verwenden. Wir benötigen diese Funktionalität, um eine Art von Online-Editor zu implementieren, wenn ein Benutzer Markierungen für Textbereiche erstellen kann, und dann ein anderer Benutzer den Text entsprechend diesen Markierungen ändern kann (z. B. Fehler korrigieren). Ich verstehe es nicht mit Ihrer "Float" -Lösung, können Sie bitte eine Geige damit machen? –
Ah, schau jetzt auf die Geige. IE11 64 Bit (Standardmodus mit Doctype) sieht also nicht wie Ihr Bildschirm aus; Die Spannen werden in Chrome 49 und IE 11 in mutmaßlicher/intuitiver Reihenfolge dargestellt. Stellen Sie sicher, dass Sie IE 11 verwenden und die Seite im Standardmodus gerendert wird. Machen Sie auch einen Unterschied in der Art der Spanne und der DOM? Ich sehe keine 'br' Elemente und Whitespaces würden nur in einem' pre' Element oder einem Element mit 'white-space: pre;' wirksam werden. – John