我需要处理像缅甸这样的语言,它的字符比其他语言(例如英语)大得多。从那以后,浏览器计算出的行高就更大了,插入符号的部分不在div边界之内。

因此,我需要一种方法使插入符号在不同语言之间保持不变。就像您在同一行中有缅甸语和英语,并且插入符号从左向右移动时将保持50px。或者您可以说我正在尝试寻找一种方法来禁用浏览器的计算插入符高度的默认行为。

顺便说一下,这只处理了歌剧,在chrome或webkit上都表现出色。

最佳答案

我认为我没有最终的完美解决方案,但这确实是以某种方式解决此问题的一种方法。

我使用带有闪烁动画的子div来模拟浏览器的插入符号,并使父亲div成为纯div。这是CSS代码。

这是Github项目,我认为对我有很大帮助。
https://gist.github.com/navinpai/2902229

.cursor {
    width: 1px;
    height: 80px;

    display: block;
    position: relative;
    margin-left: 30px;

    animation-name: see_likes;
    animation-duration: 1s;
    animation-iteration-count: infinite;
    animation-timing-function: linear;
    animation-play-state: running;
    animation-delay: 0s;

    -o-animation-name: see_likes;
    -o-animation-duration: 1s;
    -o-animation-iteration-count: infinite;
    -o-animation-timing-function: linear;
    -o-animation-play-state: running;
    -o-animation-delay: 0s;
}

@keyframes see_likes {
    0%   { background: #0a0 }
    47%  { background: #090 }
    50%  { background: transparent }
    97%  { background: transparent }
    100% { background: #090 }
}

@-o-keyframes see_likes {
    0%   { background: #0a0 }
    47%  { background: #090 }
    50%  { background: transparent }
    97%  { background: transparent }
    100% { background: #090 }
}

关于html - 有没有办法在HTML中的contenteditable div中设置插入符高度,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/33751725/

10-12 14:03