Html 在Chrome中,如何呈现没有间隙的Unicode块字符?

Html 在Chrome中,如何呈现没有间隙的Unicode块字符?,html,css,unicode,Html,Css,Unicode,我需要显示包含Unicode完整块字符(\u2588)的数据。但是,正如您在这里看到的,浏览器似乎对块应用字体平滑,导致块之间出现间隙。██████████████ 如何在没有间隙的情况下渲染这些角色 我尝试使用带有负值的CSS“行距”作为一种技巧,但此文本是用单空格字体呈现的,它与其余内容不对齐。您可以使用字体阴影来填补空白。我知道这是一种黑客行为,但除非你计划通过将角色定位在固定的方向来重叠角色,否则我不知道如何在不同的浏览器中实现这一点 text-shadow: 1px 0px 0px r

我需要显示包含Unicode完整块字符(\u2588)的数据。但是,正如您在这里看到的,浏览器似乎对块应用字体平滑,导致块之间出现间隙。██████████████

如何在没有间隙的情况下渲染这些角色


我尝试使用带有负值的CSS“行距”作为一种技巧,但此文本是用单空格字体呈现的,它与其余内容不对齐。

您可以使用字体阴影来填补空白。我知道这是一种黑客行为,但除非你计划通过将角色定位在固定的方向来重叠角色,否则我不知道如何在不同的浏览器中实现这一点

text-shadow: 1px 0px 0px rgba(0,0,0,1);
例如:


另一个选项是在容器中填充字符,并将背景颜色设置为与字体颜色相同。示例:

我有相同的问题很久了,仍然在寻找一个完美的解决方案。Kieran Devlin的CSS文本阴影方法很好,但仅适用于只有一个相同颜色的线条块的情况

我可以通过JavaScript(或CSS)推荐这个解决方案,但这并不是100%完美的。在这里,我们只是确保用户使用铬,然后将块挤压到一起,从而填补空白。之后,我们可以使用transform scale返回初始大小,并使用translateX将其返回到初始位置

if (window.chrome) {
    art_div.css({
        'letter-spacing': '-0.1em',
        'line-height': '1.2em',
        'transform': 'scale(1.2, 1) translateX(8%)'
    });
}

你可以在中看到它,也许我会找到更好的东西。

不管问题是什么,它不是通用的。在我的Firefox/54x64Windows10中,我看到一个黑色的矩形。是的,它看起来只是Chrome。我会更新标题的。