Ich habe eine, DIV
die hat, contentEditable=true
damit der Benutzer sie bearbeiten kann. Das Problem ist, dass es nicht wie ein Textfeld aussieht, sodass dem Benutzer möglicherweise nicht klar ist, dass es bearbeitet werden kann.
Gibt es eine Möglichkeit, das DIV
so zu gestalten, dass es dem Benutzer wie ein Texteingabefeld erscheint?
textarea
? jsfiddle.net/vwPgTAntworten:
Diese sehen genauso aus wie ihre echten Gegenstücke in Safari, Chrome und Firefox. Sie werden elegant abgebaut und sehen auch in Opera und IE9 in Ordnung aus.
Demo: http://jsfiddle.net/ThinkingStiff/AbKTQ/
CSS:
HTML:
Ausgabe:
quelle
Wenn Sie Bootstrap verwenden, fügen Sie einfach
form-control
Klasse hinzu. Beispielsweise:quelle
In WebKit können Sie Folgendes tun:
-webkit-appearance: textarea;
quelle
Sie könnten sich für einen inneren Kastenschatten entscheiden:
Ich habe die jsfiddle von Jarish aktualisiert: http://jsfiddle.net/ZevvE/2/
quelle
Ich würde dies vorschlagen, um dem Stil von Chrome zu entsprechen, der sich aus Jarishs Beispiel ergibt. Beachten Sie die Cursoreigenschaft, die in früheren Antworten weggelassen wurde.
quelle
Sie können eine TEXTAREA ähnlicher Größe unter Ihrem DIV platzieren, sodass der Rahmen des Standardsteuerelements um div sichtbar ist.
Es ist wahrscheinlich gut, die Einstellung zu deaktivieren, um ein versehentliches Stehlen des Fokus zu verhindern.
quelle
Das Problem bei all diesen ist, dass sie nicht ansprechen, wenn die Textzeilen lang und viel breiter sind als der div-Überlauf: auto fügt keine Bildlaufleiste hinzu, die richtig funktioniert. Hier ist die perfekte Lösung, die ich gefunden habe:
Erstellen Sie zwei Divs. Ein innerer Teil, der breit genug ist, um die breiteste Textzeile zu verarbeiten, und ein kleinerer äußerer, der als Halter für den inneren Teil fungiert:
quelle