21

我在我的项目中使用 Ace 编辑器。

CSS:

#editor {
  position:absolute;
  top:0;
  left:0;
  width:100%;
  height:100%;
  background-color:white;
}

JavaScript:

var editor = ace.edit("editor");
editor.setTheme("ace/theme/textmate");
editor.getSession().setMode("ace/mode/java");

#editor包含在一个相对定位的 div 中。

这个问题很难解释,但我会尝试。

每当我在 Ace 中键入文本时,行号会增加光标实际位置的空格,并且预期位置也会增加。

例如,当我输入“这是文本”时,它显示如下:

This is text           |

现在,当我按下退格键时,它将删除“t”行上的最后一个字符,并显示:

This is tex           |

当缩放设置为 120 时,我在 Google 上搜索过这个问题,发现 chrome 浏览器有一个类似的问题。但我正在使用 Firefox 浏览器。

4

3 回答 3

33

Ace 只能显示等宽字体,如果将编辑器的字体更改为非等宽字体,或者将不同的字体分配给编辑器的不同部分,则可能会发生您描述的问题。

(ubuntu 上有一个 firefox 插件,它将所有字体更改为非等宽字体)

于 2013-03-03T20:25:10.590 回答
5

我的同样问题以这种方式解决:

 #editor *{ font-family : monospace !important;font-size: 16px !important;direction:ltr !important;text-align:left !important;}
于 2019-09-12T09:34:29.733 回答
3

我正在使用 mediawiki + chrome 并遇到了同样的错误。

通过使用解决的问题

.ace_editor, .ace_editor *{
font-family: "Monaco", "Menlo", "Ubuntu Mono", "Droid Sans Mono", "Consolas", monospace !important;
font-size: 12px !important;
font-weight: 400 !important;
letter-spacing: 0 !important;
}

在 Mediawiki:Common.css

于 2020-09-26T11:22:25.537 回答