【问题标题】:vertical text spacing without extra space above and below paragraphs垂直文本间距,段落上方和下方没有额外空间
【发布时间】:2014-07-16 07:02:06
【问题描述】:

由于我想要文本的像素完美对齐,我正在寻找一种方法来确定上升线和前一个元素之间的间距以及基线和下一个元素之间的间距。

此示例通过将字体点与行高像素匹配,完美地展示了我希望段落和其他元素之间的间距。

p {
    font-family: arial;
    font-size: 25pt;
    line-height: 25px;
    margin: 20px 0;
}

http://jsfiddle.net/3v9ms/

它在 div 和段落之间具有完美的间距,并且在 2 个段落之间也具有完美的间距。但是段落的行间距现在是 0。我希望它是 25px。

但是当我增加行高时,这也会在段落的顶部和底部创建更多空间,从而导致从上升线/基线到上一个/下一个元素的间距乱序。

p {
    font-family: arial;
    font-size: 25pt;
    line-height: 50px;
    margin: 20px 0;
}

http://jsfiddle.net/gC3Mx/

如何在段落的行之间设置间距而不在其顶部或底部添加间距?

我在段落上尝试了负边距,但它很讨厌,因为当你更改元素的顺序时它会产生几乎不可读的 CSS 和奇怪的效果(例如,当我在段落上使用负的顶部和底部边距时,这会搞砸当我一个接一个地做 2 个段落时,但当我中间有另一个元素时效果很好。

【问题讨论】:

  • 你可以在这里看到答案:stackoverflow.com/questions/6409905/…
  • 你必须改变你的标记才能得到你想要的……:\
  • 但是我如何更改标记而不使其完全混乱并且元素以不可预测的方式相互影响。重写它的最佳做法是什么?

标签: css


【解决方案1】:

我认为这是一种不好的做法,但使用
p:first-line 可能会得到想要的结果

检查这个jsfiddle http://jsfiddle.net/gC3Mx/1/

【讨论】:

  • 不幸的是,这在 FF 中不起作用。它也不固定底部。
猜你喜欢
  • 2019-02-26
  • 1970-01-01
  • 2021-08-19
  • 2010-10-08
  • 1970-01-01
  • 1970-01-01
  • 2019-06-25
  • 2013-02-15
  • 1970-01-01
相关资源
最近更新 更多