Я встраиваю Ace Editor во всплывающее окно Chrome. Я стараюсь, чтобы текст (первая строка) всегда был виден, а затем заставил Редактор заполнить остальную часть экрана. Я почти достиг этого, однако, как вы можете видеть на скриншотах, есть вертикальная полоса прокрутки, которая показана, потому что вам нужно прокрутить вниз главное окно, чтобы увидеть нижнюю часть редактора (где находится горизонтальная полоса прокрутки). Таким образом, выделение аква-текста больше не видно. Что нужно реализовать в CSS, чтобы первая строка всегда была видна сверху, и при этом была возможность вертикальной и горизонтальной прокрутки в редакторе без необходимости прокрутки в родительском окне?
Я пытался что-то сделать немного отличается от того, что показано здесь в JSFiddle. http://jsfiddle.net/rvq62hzp/3/
Код
HTML
<code> <div class="source_table">
<div class="source_table_row" style="background-color: aqua;">
<div>
<p>Text</p>
<br/>
<p>Text</p>
</div>
</div>
<div class="source_table_row" style="background-color: blueviolet;">
<pre id="editor">
CSS
body {
font-family: "Open Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Ubuntu, Arial, sans-serif;
font-weight: 400;
min-width: 250px;
padding: 0;
margin: 0;
}
p {
display: unset;
margin-block-start: 0em;
margin-block-end: 0em;
margin-inline-start: 0px;
margin-inline-end: 0px;
}
.source_table {
display: table;
}
.source_table_row {
display: table-row;
}
.ace_editor {
position: absolute !important;
/*border: 1px solid lightgray;*/
margin: auto;
height: 100%;
width: 100%;
}
JavaScript
editor = ace.edit("editor");
editor.setTheme("ace/theme/textmate");
editor.session.setMode("ace/mode/html");
editor.setOptions({
hScrollBarAlwaysVisible: true,
vScrollBarAlwaysVisible: true
});
editor.session.setValue(code);
Ace Editor