javascript - 如何将转换添加到 unicode 字母
问题描述
我正在用我的语言制作一些文本动画。但是使用 js 将字母分隔为跨度,结果如下:
<span class="letter" style="transform: translate(0.55em, 1.1em) scale(1.5);">ध</span>
<span class="letter" style="transform: translate(0.55em, 1.1em);">्</span>
<span class="letter" style="transform: translate(0.55em, 1.1em);">य</span>
<span class="letter" style="transform: translate(0.55em, 1.1em);">ो</span>
我使用的脚本是
textWrapper.innerHTML = textWrapper.textContent.replace(/\S/g, "<span class='letter'>$&</span>");
html中的结果如下
结果应如下所示: ध्यो,因为这些空白空间在 unicode 中组合在一起。
.letter
它仅在应用display:inline-block
需要应用转换时才会中断。
有没有办法可以实现ध्यो的结果并且仍然对每个字母应用转换?
解决方案
删除空格 -
更新:我明白了,你不能做内联块
翻译仅适用于
块级或原子内联级元素,或其 'display' 属性计算为 'table-row'、'table-row-group'、'table-header-group'、'table-footer-group'、'table -cell' 或 'table-caption' [CSS21]
document.getElementById("letterDiv").innerText = document.getElementById("spanDiv").innerText;
.letter {
transform: translate(0.55em, 1.1em) scale(1.5);
color: green;
}
div.letter {
position: absolute;
top: 120px;
left: 100px;
}
With whitespace<br/>
<span class="letter">ध</span>
<span class="letter">्</span>
<span class="letter">य</span>
<span class="letter">ो</span>
<hr/> Without
<br/>
<div id="spanDiv">
<span class="letter">ध</span><span class="letter">्</span><span class="letter">य</span><span class="letter">ो</span>
</div>
<br/>
<hr/> Block
:<br/>
<div class="letter" id="letterDiv"></div>
推荐阅读
- html - 角度的多个动态提交按钮表单
- php - 作曲家更新 Laravel 上的无效字符和更新后 cmd 错误
- php - laravel 更新行成为另一个已经存在的行的副本
- vue.js - 初始 `reactive` 值为 null
- ios - 为什么这个程序会产生与 `YES` 和 `true` 不同的结果?
- android - kotlin 和协程中的 Espresso IdlingResource 示例不起作用
- c# - c#组装多个列表的最佳方法
s' 元素到唯一列表 - python - 在进行分组后从数据中删除一些行
- python - 边界条件
- git - 是否可以只分支出一些特定的文件夹并在 bitbucket 中创建一个新分支?