Ace编辑器单空间字体与光标间距有关



我在ace编辑器中看到了一些光标间距不正确的问题。这个问题与字体间距有关,显然解决方案是只使用单间距字体。

这是另一个SO关于这个问题的问题。ace编辑器光标行为不正确

我的问题可能与使用Bootstrap主题有关,但我不完全确定。

当我打开chrome dev工具,查看ace编辑器中使用的字体时,它会说我的引导模板使用的是字体

input, textarea, input[type="submit"]:focus, div {
outline: 0 none;
font-family: 'Open Sans', sans-serif;
}

如果我添加到我的css

.ace-editor {
font-family: monospace !important;
}

我仍然有光标间距错误的问题,奇怪的是,使用的字体看起来与Bootstrap中定义的"Open Sans"完全相同。

在Chrome开发工具中打开,说计算的属性是"单空间",所以应该有一些东西在起作用,但事实并非如此。这就是它变得非常奇怪的地方。

如果我删除.ace-editorinput, textarea...的字体条目,我会得到一个非常好看的字体。转到计算属性,is显示字体家族再次为"Open Sans"。

所以我想回答的问题是,当我从Bootstrap中取消文本区域条目时,我如何弄清楚实际使用的字体?或者,当指定了monospace字体时,为什么不接受它。

我在一定程度上认为"Open Sans"可能是单节奏的,但不管怎样,它仍然会引起巨大的头痛。

该问题是由引导规则中包含的div引起的。它太宽,破坏了ace的字符宽度测量。您可以添加

.ace_editor div {
font: inherit!important
}

作为一种变通方法。最好也向引导模板的创建者报告一个问题。

最新更新