>本文探讨了CSS工作组(CSSWG)中有关letter-spacing
属性的有趣讨论。 一位高级Mozilla开发人员强调了浏览器如何渲染该物业与其实际CSS规范之间的长期差异。这个看似简单的属性揭示了令人惊讶的复杂性。
核心问题源于浏览器如何处理字符之间的间距。尽管人类直观地理解字母间距,但计算机需要定义的策略。是否应该在每个字母周围,之后,之后或平均分配空间? 从左到右(LTR)和左至右(RTL)语言之间是否有区别? 所选的策略显着影响文本测量和线路断裂。
当前,浏览器实现偏离CSS规范。规格打算在字符之间发生间距,但是浏览器通常在每个字符的 end 处添加空间。这种不一致存在于不同的渲染引擎,例如壁虎(Firefox),眨眼(Chrome等)和Webkit(Safari)。 > CSS规范定义as:“指定印刷字符单元之间的其他间距。” 但是,通用的浏览器实现在每个字符的末尾增加了额外的空间,从而导致不对称间距,尤其是在中心文本或RTL语言中引人注目。 在RTL语言中,差异在文本的开头造成了差距。
为什么这种差异? 改变既定的浏览器行为可能会因文本测量和线路断开而改变的广泛网站破裂。 网站可能已经通过解决方法来弥补了当前行为,从而使变化具有破坏性。>
letter-spacing
正在考虑两种潜在的解决方案:
>
选项1:返工空间分布:>引入一个新属性(例如,),允许开发人员指定在何处应用间距(>,
>,,,,letter-spacing-justify
,before
,after
,left
,right
,between
,around
)。这提供了灵活性,保持向后兼容性,同时为新项目提供了改进的间距控制。
以上是字母间距被打破了,那里我们对此无能为力...也许的详细内容。更多信息请关注PHP中文网其他相关文章!