2015-05-07 12 views
6

Ich versuche, Codemirror Autoresize bis zu einer bestimmten Anzahl von Zeilen oder Pixelhöhe zu ermöglichen. Nachdem diese maximale Größe erreicht wurde, sollte das Widget Bildlaufleisten hinzufügen.Codemirror Autoresize bis zu einer bestimmten Anzahl von Zeilen

CodeMirror.fromTextArea(document.getElementById("code"), { 
    lineNumbers: true, 
    viewportMargin: 50 

});

max-height funktioniert nicht

.CodeMirror { 
border: 1px solid #eee; 
height: 100%; 
} 

http://jsfiddle.net/qzjo4ejh/

+0

duplizieren? http://StackOverflow.com/Questions/28378229/codemirror-how-to-limit-height-in-editor –

+0

Nein, es ist keine feste Größe, aber ein resizable mit einem Max, was ich suche – ic3

Antwort

14

Sie sollten .CodeMirror ein height: auto Stil geben und die max-height auf .CodeMirror-scroll setzen. Der eingebettete Editor auf der tut dies (Quelle anzeigen, es ist in der Nähe der Spitze).

+0

Vielen Dank, PayPal-Spende wäre praktisch ;-) – ic3

+0

Das ist einfach - siehe die Spendenlinks auf http://codemirror.net – Marijn

+0

Dies ist der richtige Weg, es zu tun. Bitte überlegen Sie, es der Dokumentation an einem leicht zu findenden Ort hinzuzufügen. – Danielo515

1

Was ist so etwas wie das:

var myCodeMirror = CodeMirror.fromTextArea(document.getElementById("code"), { 
    lineNumbers: true, 
    viewportMargin: 50 
}); 

var height; 
if(myCodeMirror.lineCount() > 5) { 
    height = 50; 
} else { 
    height = 20 * myCodeMirror.lineCount(); 
} 
myCodeMirror.setSize(500, height); 

Dies ist ein Beispiel. Sie können ein Ereignis behandeln, um den CodeMirror dynamisch zu ändern, wenn sich Zeilen ändern.

+0

Sie können versuchen Geige, es funktioniert nicht wie erwartet. – ic3

+0

Getestet in Geige funktioniert es perfekt. muss nur andere Zeilen von Text und 20 statt 10px nach Zeile setzen –

+0

Überprüfen Sie die Antwort von Marijn (er ist der Besitzer des Projekts). Trotzdem danke für deine Mühe. – ic3

1

Das hat bei mir funktioniert. Die CodeMirror-scroll verursachte, dass sie sich viel zu groß anpasste. Sie müssen nichts mit viewportMargin tun, trotz was die Dokumente sagen.

.CodeMirror { 
    border: 1px solid #eee; 
    height: auto; 
    max-height:100px; 
} 

.CodeMirror-scroll { 
    height: auto; 
    max-height:100px; 
} 

Fiddle

+0

die automatische Höhe auf .CodeMirror-scroll speicherte gerade meinen Tag, ohne dass der Editor immer nur 100% Höhe anzeigen würde. Vielen Dank! – ZPiDER

+0

danke Charles Clayton – user1110977

Verwandte Themen