在contentEditable的div中,如何将光标居中对齐(水平和垂直居中)?

3
我有一个包含许多

1
我检查了你的演示,它正如你想要的那样工作。你是在使用IE吗? - Nischaal Cooray
你忘了提到重要信息:你描述的行为在哪个浏览器中出现?因为我已经在Chrome中测试过,它可以正常工作:如果我在表格单元格中点击任何位置,光标就会位于单元格的中心。 - David Ferenczy Rogožan
这个问题只出现在所谓的FireFox浏览器中。因此,我认为您不需要修复那个小错误,它只会影响使用FireFox的用户(数量也有限)。 - King King
是的,这是真的,但大多数矿工用户在Firefox中使用这个表格 :-/ - Legionar
1个回答

2
在FF中,你需要将你的div重置为inline-box,设置垂直对齐方式以使其在单元格中居中:DEMO
.termin:focus{/* only once focused, else nothing to click on if empty */
    height: auto;
    width:auto;
    display:inline-block;
    vertical-align:top;
}

你需要将valign修正为td:vertical-align:center;不存在 :)
.terminy td {
    text-align: center;
    vertical-align:middle;/* fixed with a valid value*/
    height: 60px;
    background-color: #fff;
}

演示可以正常工作,但在我的网站上,当你聚焦它时,光标大约在中间下方10像素的位置 :-/ - Legionar
@Legionar,您是否也重置了垂直对齐,并修复了td的CSS? - G-Cyrillus
是的,两者都可以,也没有其他可能会破坏它的CSS。 - Legionar
height: auto; 在我的网站上与 height: 0px; 相同 - 相同的结果,距离中心大约10像素。所以我将其更改为 height: 20px; 现在它就在中心了。不知道为什么 auto 不起作用,在 jsfiddle 上却可以正常工作... - Legionar
可能是从其他地方重置了 :) - G-Cyrillus
不用了,我已经删除了所有其他的CSS,只需保留jsfiddle中的即可;但没关系,现在它可以工作了,谢谢 :) - Legionar

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接