Codemirror autoresize до заданного количества строк
Я пытаюсь разрешить codemirror авторизировать до заданного количества строк или высоты пикселя. После достижения этого максимального размера виджет должен добавить полосы прокрутки.
CodeMirror.fromTextArea(document.getElementById("code"), {
lineNumbers: true,
viewportMargin: 50
});
max-height не работает
.CodeMirror {
border: 1px solid #eee;
height: 100%;
}
3 ответов
вы должны дать .CodeMirror
a height: auto
стиль, и поставить max-height
on .CodeMirror-scroll
. Встроенный редактор на страница проекта делает это (источник просмотра, он находится прямо вверху).
Как насчет чего-то подобного :
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);
Это пример. Вы можете обрабатывать событие для динамического изменения размера CodeMirror при изменении строк.
Это то, что работал для меня. The CodeMirror-scroll
был причиной того, что он слишком большой. Вам не нужно ничего делать с viewportMargin
несмотря на то, что документы говорят.
.CodeMirror {
border: 1px solid #eee;
height: auto;
max-height:100px;
}
.CodeMirror-scroll {
height: auto;
max-height:100px;
}