2017-06-16 31 views
9

我得到了奇怪的间距问题。有数字和每个文本并行。在1,4,7和'每个'文本之间有不同的间距。我们如何解决这个问题或者它不能被修复。我没有使用任何间距和额外的CSS属性。数字和文字之间的Inconsisent差距

@import url('https://fonts.googleapis.com/css?family=Spectral'); 
 
@import url('https://fonts.googleapis.com/css?family=Open+Sans|Spectral'); 
 

 
.bigger { 
 
    font-size: 40px; 
 
} 
 

 
p { 
 
    font-family: 'Open Sans', sans-serif; 
 
}
<p> 
 
    <span class="bigger">81</span> 
 
    <small>each</small> 
 
</p> <br> 
 
<p> 
 
    <span class="bigger">84</span> 
 
    <small>each</small> 
 
</p> <br> 
 
<p> 
 
    <span class="bigger">87</span> 
 
    <small>each</small> 
 
</p> <br>

+0

您可以使用'letter-spacing'来缩小字母间的空格 –

+2

这些空格是'kerning'。 –

+0

@Kumar,我的答案是否适合你? –

回答

4

这是字体的字符间距的问题。您应该使用monospace字体来为所有字符实现相同的间距。

请尝试下面的代码片段。

.bigger { 
 
    font-size: 40px; 
 
} 
 

 
p { 
 
    font-family: monospace; 
 
}
<p> 
 
    <span class="bigger">81</span> 
 
    <small>each</small> 
 
</p> <br> 
 
<p> 
 
    <span class="bigger">84</span> 
 
    <small>each</small> 
 
</p> <br> 
 
<p> 
 
    <span class="bigger">87</span> 
 
    <small>each</small> 
 
</p> <br>

+1

那些空格是'kerning'不是字母间距,我想 –

+0

我不是指css'letter-spacing'兄弟。它是字体文件中定义的间距。由于他没有使用等宽字体,因此每个字符的间距会有所不同。这就是为什么我建议他使用等宽字体。你可以看到安排完成的片段。 @AbhishekPandey –

+0

我使用了术语'字体的字母间距',因为我不知道'kerning'这个术语。感谢这个词。 –

2

字符1(和图7有时)通常会在大多数字体被间隔开。如果你想要统一间距,你应该考虑使用等宽字体。

您可以对代码进行的另一项改进是删除标记之间的空格。

请检查下面的代码:

@import url('https://fonts.googleapis.com/css?family=Spectral'); 
 
@import url('https://fonts.googleapis.com/css?family=Open+Sans|Spectral'); 
 

 
.bigger { 
 
    font-size: 40px; 
 
} 
 

 
p { 
 
    font-family: 'Open Sans', sans-serif; 
 
}
<p> 
 
    <span class="bigger">81</span><small>each</small> 
 
</p> <br> 
 
<p> 
 
    <span class="bigger">84</span><small>each</small> 
 
</p> <br> 
 
<p> 
 
    <span class="bigger">87</span><small>each</small> 
 
</p> <br>

12

虽然使用等宽字体是一个很好的解决方法,你可以用你原来的字体解决这个问题,如果有正确的OpenType功能。

数字占据空间的差异是由数字的宽度引起的(与字距或字母间距相反,正如其他答案中所建议的)。宽度正比 - 1比4

窄但字体也可以提供片状数字,其中每个数字是相等的宽度:

Image from https://www.fonts.com/content/learning/fontology/level-3/numbers/proportional-vs-tabular-figures

可以在启用此CSS与font-feature-settings: 'tnum';。或者要使用其他OpenType功能并处理浏览器不一致问题,请参阅Utility OpenType

+1

如果它指出问题中的特定字体是否支持这个以及更一般的如何检查,这将更有用。 – Caleb

+0

@Caleb好点。打开Sans [确实](https://en.wikipedia.org/wiki/Open_Sans#Variants),但我不知道Google托管的版本是否。在任何情况下,您都可以通过与您的字体供应商进行核对,或者直接使用'font-feature-settings:'tnum''进行测试。 – RoelN