我发现一些问题是光标在 ace 编辑器中的间距不正确。问题与字体间距有关,显然解决方案是仅使用等宽字体。
这是关于这个问题的另一个 SO 问题。 ace editor cursor behaves incorrectly
我的问题可能与使用 Bootstrap 主题有关,但我不完全确定。
当我打开 chrome 开发工具并查看 ace 编辑器中使用的字体时,它说我的 Bootstrap 模板正在使用这些字体
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-editor
和 input, textarea...
的字体条目,我会得到一个非常好看的字体。
转到计算属性,显示字体系列再次为“Open Sans”。
所以我要回答的问题是,当我从 Bootstrap 中取消文本区域条目时,我如何才能弄清楚实际使用的是什么字体?或者为什么在指定时不接受等宽字体。
我有点假设“Open Sans”可能是等宽的,但无论如何,它仍然会引起巨大的头痛。
最佳答案
此问题是由 Bootstrap 规则中包含的 div
引起的。
它太宽了,会破坏 ace 的字符宽度测量值。
你可以添加
.ace_editor div {
font: inherit!important
}
作为解决方法。最好也向 Bootstrap 模板的创建者报告问题。
关于css - Ace 编辑器等宽字体问题与光标间距,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20931029/