如何让这个简单的王牌编辑器占据全高?

问题描述 投票:0回答:1

width 属性工作得很好,但 height 属性由于某些原因不起作用,如何让编辑器采用全高?我还想在顶部栏中添加“打开文件”按钮(从存储)和“另存为”按钮,请问我们该怎么做?很抱歉,我无法在问题中添加代码片段,因为 stackoverflow 的代码片段编辑器不支持触摸设备。

<!DOCTYPE html>
<html lang="en">

<head>
  <meta charset="UTF-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">

  <style type="text/css" media="screen">
    * {
      box-sizing: border-box;
    }
    
    body {
      margin: 0;
    }
    
    .ace_editor {
      font-weight: bold;
      width: 100%;
      height: 100vh;
    }
    
    .toolbar {
      border: 1px solid gray;
      background: #333;
    }
  </style>
</head>

<body>
  
  <!-- load ace -->
  <script src="http://ajaxorg.github.io/ace-builds/src/ace.js"></script>
  <!-- load ace language_tools extension -->
  <script src="http://ajaxorg.github.io/ace-builds/src/ext-language_tools.js"></script>
  <script>
    var buildDom = ace.require("ace/lib/dom").buildDom;
    var editor = ace.edit();
    editor.setOptions({
        theme: "ace/theme/monokai",
        mode: "ace/mode/html",
        maxLines: 30,
        minLines: 30,
        autoScrollEditorIntoView: true,
    });
    var refs = {};
    function updateToolbar() {
        refs.saveButton.disabled = editor.session.getUndoManager().isClean();
        refs.undoButton.disabled = !editor.session.getUndoManager().hasUndo();
        refs.redoButton.disabled = !editor.session.getUndoManager().hasRedo();
    }
    editor.on("input", updateToolbar);
    editor.session.setValue(localStorage.savedValue || "Welcome to ace Toolbar demo!")
    function save() {
        localStorage.savedValue = editor.getValue(); 
        editor.session.getUndoManager().markClean();
        updateToolbar();
    }
    editor.commands.addCommand({
        name: "save",
        exec: save,
        bindKey: { win: "ctrl-s", mac: "cmd-s" }
    });
    
    buildDom(["div", { class: "toolbar" },
        ["button", {
            ref: "saveButton",
            onclick: save
        }, "save"],
        ["button", {
            ref: "undoButton",
            onclick: function() {
                editor.undo();
            }
        }, "undo"],
        ["button", {
            ref: "redoButton",
            onclick: function() {
                editor.redo();
            }
        }, "redo"],
        ["button", {
            style: "font-weight: bold",
            onclick: function() {
                editor.insertSnippet("**${1:$SELECTION}**");
                editor.renderer.scrollCursorIntoView()
            }
        }, "bold"],
        ["button", {
            style: "font-style: italic",
            onclick: function() {
                editor.insertSnippet("*${1:$SELECTION}*");
                editor.renderer.scrollCursorIntoView()
            }
        }, "Italic"],
    ], document.body, refs);
    document.body.appendChild(editor.container)
    
    window.editor = editor;
  </script>
  
</body>

</html>
javascript html css ace-editor
1个回答
0
投票

如果您希望 CSS 在

height
方面发挥作用,您应该从编辑器设置中删除
maxLines: 30

© www.soinside.com 2019 - 2024. All rights reserved.