CSS Line Height - 仅限底部

时间:2012-07-28 16:22:26

标签: html css

好的,我对前端开发还很陌生,所以如果这是一个愚蠢的问题请相信:)

我知道这可能无法实现,但在将line-height应用于元素h1时,line-height会为top和{{{{}} {{}}应用额外空间1}}那个元素。

这种方式很有意义,但我只想将bottom应用到元素的底部,这样我的line-height等的顶部可以与其他元素完美对齐。

这个jsfiddle显示了问题:http://jsfiddle.net/zja4c/1/

这个jsfiddle展示了我想要实现的目标但被迫使用负边距:http://jsfiddle.net/25UTA/

红色h1, h2的{​​{1}}正确对齐左侧h1的顶部,但文字没有。

我的问题是,有没有办法:

  1. 仅将background colour应用于元素的底部,或

  2. 将元素对齐到以某种方式应用div创建的空间的顶部

5 个答案:

答案 0 :(得分:5)

如果您希望在换行符之间保持适当的间距,则使用line-height是唯一的选择。正如您所指出的那样,填充将出现在块级H1元素的底部。我认为负利润率是你最好的选择,但你必须使用50px line-height来完美地调整它:

http://jsfiddle.net/25UTA/1/

如果由于某种原因无法使用负边距,您可以使用相对定位和负top值来实现类似的效果。

http://jsfiddle.net/25UTA/2/

使用em或百分比字体大小和行高可能会成为这个问题。

答案 1 :(得分:3)

这些答案都不会引用将display设置为inline的元素。

Line-height是一个引用inline元素的设置。到目前为止,每个答案都提到了使用填充和边距,这不适用于inline样式文本。

您可以使用vertical-align修改其行内文字的位置。这是一篇文章的链接,该文章详细介绍了该属性及其工作原理:

http://christopheraue.net/2014/03/05/vertical-align/

答案 2 :(得分:0)

你可以完全忘记行高并使用padding-bottom:

fiddle

答案 3 :(得分:0)

据我所知,仅使用css line-height无法应用bottom

因此,您可以尝试使用padding,因为用户1538100说。

答案 4 :(得分:0)

一个简单的解决方案是使线高70%并添加一点底部填充。

p, h2 {
line-height:70%;
padding-bottom: 3px;
}