使用溢出时的文本裁剪:隐藏

时间:2012-04-16 22:00:54

标签: overflow css

我有这个简单的html和css http://jsfiddle.net/JVfVv/1/

问题是在mac上的safari / chrome / firefox下正在裁剪文本。删除溢出:隐藏可以解决问题,但是由于其他原因,此行是必需的。删除行高:1;似乎解决了这个问题,但是我从我的重置样式表中得到了这个问题,并且我没有解释为什么会导致裁剪。

有人可以解释为什么会这样,请问如何解决?感谢

2 个答案:

答案 0 :(得分:19)

为了回答为什么会发生这种情况的问题,我认为关键是来自CSS 2.1规范的Fonts section中的这个特定短语(强调我的):

  

字体大小对应于em square,这是排版中使用的概念。 请注意,某些字形可能会在其正方形之外出血。

line-height: 1声明将段落的高度设置为与font-size相同的高度(因为段落只有一行)。一些角色被切断的事实意味着他们的雕文在他们的正方形之外流血(我不知道如何明确地证明这是真的;我只是根据证据进行推测)。

对于解决方案,最直接的解决方案是使用更大的line-height设置,例如1.1或1.2。

答案 1 :(得分:0)

您可以在CSS中设置解决问题的height吗?

p {
    line-height: 1;
    overflow: hidden;
    font-family: "Helvetica Neue", Helvetica, Arial; font-size: 30px;
    height:32px; /* this appears to solve the problem */
}​

请参阅:http://jsfiddle.net/JVfVv/4/