javascript - 插入符位置在可满足的 div 中偏离

标签 javascript html css contenteditable

Chrome(可能还有其他浏览器)以一种奇怪的方式在 contenteditable div 中定位插入符号。

请考虑以下代码段:

<div contenteditable="true" style="width: 100%; height: 200px; border: 1px solid black; overflow: auto;">
    <p>
        <span contenteditable="false" style="width: 75%; height: 80px; display: inline-block; border: 1px solid red;">&nbsp;</span>.
    </p>
</div>

也可在此 JSFiddle 中找到.

如果单击红色跨度旁边句点的右侧并按退格键删除句点,插入符号会突然移到段落的最右侧。我希望插入符号位于红色跨度旁边的句号所在的位置。

为什么它没有按我期望的方式定位,有没有办法获得我正在寻找的行为?

最佳答案

这种奇怪的行为是由于 p 标签而发生的,原因可能是宽度之间存在一些冲突,您可以编辑标签的 css,而不是使用 display:block(默认),使用 display:inline

我创建了这个 fiddle :JsFiddle ,使用 display:inline,是我能从 display:block 得到的最接近的。

我尝试了 align 属性,但没有成功。

关于javascript - 插入符位置在可满足的 div 中偏离,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44596440/

相关文章:

javascript - $(e.target).hasClass() 不工作

css - 如何为 Compass SCSS 框架使用 Compass Animation?

javascript - 我网站上这个神秘的左边距是怎么回事?为什么它不与我的浏览器的左边缘齐平?

javascript - 将数据传递给 ngAfterViewInit() 内的函数 - Angular 6

php - 循环遍历表单

javascript - 获取从一个页面到另一页面的点击 href 变量

html - 在 Safari iOS 13 + 上禁用双击缩放

Javascript 混淆和模态框

javascript - ajax 调用返回未定义类型的数据

javascript - 如何检查 Kendo UI ComboBox 是否脏(即值已从默认值更改)?