【发布时间】:2017-02-12 22:28:42
【问题描述】:
即使我将填充添加为 0px,为什么在字母“അ”之前还有空格(标记为红色)?
<span style="margin:0;padding:0;border:1px solid blue;font-size:128px">അ</span>
【问题讨论】:
-
请添加jsFiddle 问题示例。它将帮助我们帮助您。
即使我将填充添加为 0px,为什么在字母“അ”之前还有空格(标记为红色)?
<span style="margin:0;padding:0;border:1px solid blue;font-size:128px">അ</span>
【问题讨论】:
那个空格是字体的一部分。在其上使用否定的 letter-spacingmargin-left 以将其删除。
注意:这只会将整个跨度向后移动几个 px。实际上,空间仍然存在,无法正确移除。
【讨论】:
在排版中,出于美观和可读性的考虑,通常会调整字符之间的间距。空格甚至在常见的 ascii 字母中也存在:
<span style="margin:0;padding:0;border:1px solid blue;font-size:128px;letter-spacing:0px;">a</span>
但是空格是不同的,因为变量不同,比如上一个字符和下一个字符是什么。
您可以通过使用否定的padding 和letter-spacing 来获得一些结果
【讨论】:
letter-spacing 不会删除空格,相反,它更像是每个字母的边距。
使用内联定位会产生空白,而跨度始终是内联元素。解决方法在这里:https://css-tricks.com/fighting-the-space-between-inline-block-elements/
你看过 lettering.js 吗?它是一个专门用于排版的 jquery 插件。
【讨论】: