Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/82.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 为什么添加跨距会改变Chrome中的字母位置或宽度?_Javascript_Html_Css_Google Chrome - Fatal编程技术网

Javascript 为什么添加跨距会改变Chrome中的字母位置或宽度?

Javascript 为什么添加跨距会改变Chrome中的字母位置或宽度?,javascript,html,css,google-chrome,Javascript,Html,Css,Google Chrome,我遇到了一个有趣的问题,我相信可能与Chrome有关,甚至与我一直使用的字体有关 在这个应用程序的某些部分,在一段时间后,跨距会缠绕在每个字母周围。一旦发生这种情况,字母的位置就会发生轻微的变化。我不确定这是宽度、边距还是其他什么。但是,最明显的是字母“W”和“A” 在本例中,您将在1秒后看到问题,此时字母被包装在一个跨距中 setTimeout(函数(){ var wrapFinal=$(“.wrap”); html(wrapFinal.text().replace(//g,“$&”);

我遇到了一个有趣的问题,我相信可能与Chrome有关,甚至与我一直使用的字体有关

在这个应用程序的某些部分,在一段时间后,跨距会缠绕在每个字母周围。一旦发生这种情况,字母的位置就会发生轻微的变化。我不确定这是宽度、边距还是其他什么。但是,最明显的是字母“W”和“A”

在本例中,您将在1秒后看到问题,此时字母被包装在一个跨距中

setTimeout(函数(){
var wrapFinal=$(“.wrap”);
html(wrapFinal.text().replace(//g,“$&”);
}, 1000);
.wrap{
文本转换:大写;
字号:900;
字体大小:46px;
文本对齐:居中;
字母间距:4px;
空白:nowrap;
}


awsdaswdds
这绝对是一个内核问题

由于将单个字符封装到Strase元素中,字体引擎将不再将文本视为连续字符串;怎么可能呢?跨度可以被格式化成在任何地方出现,或者完全消失

更正式地说,
span
元素将各自获得用于渲染的盒子模型。框的内容将独立呈现,因此文本呈现器不可能使用紧排策略


如果您想让包含和不包含
span
s的表示看起来彼此相似,可以尝试通过设置轻轻提示紧排引擎停止它正在执行的操作。

可能与紧排有关。我的意思是,当使用内联包装器时,字体的字距会发生一些变化。啊,我不确定-我尝试过在跨距中添加字母间距,只是想看看这是否有帮助,但没有起到多大作用。另一件事是,我注意到其他字体的效果也差得多。太棒了,谢谢。这把新小提琴按预期完美地工作。