好吧,我對前端開發很陌生,所以如果這是一個愚蠢的問題,請友好點:)
我知道這可能是不可能的,但當對一個元素(比如h1)應用行高時,行高會在該元素的頂部和底部都應用額外的空間。
這有點道理,但我只希望行高應用于元素的底部,這樣我的h1、h2等的頂部可以與其他元素完美對齊。
這個jsfiddle說明了問題:http://jsfiddle.net/zja4c/1/
這個jsfiddle顯示了我想要實現的目標,但是我不得不使用負的邊距:http://jsfiddle.net/25UTA/
背景顏色為紅色的h1與左側div的頂部正確對齊,但是文本沒有對齊。
因此,我的問題是,有沒有辦法:
將行高僅應用于元素的底部,
將一個元素對齊到通過應用行高創建的空間的頂部
如果您希望在換行符之間保持適當的間距,使用行高是您唯一的選擇。正如您所指出的,填充將出現在塊級H1元素的底部。我認為負邊距是您的最佳選擇,但是您必須用50像素的行高對其進行微調:
http://jsfiddle.net/25UTA/1/
如果由于某種原因不能使用負邊距,可以使用相對定位和負上限值來達到類似的效果。
http://jsfiddle.net/25UTA/2/
使用em或百分比字體大小和行高可能會使這個eaiser。
這些答案都沒有引用顯示設置為“內聯”的元素。
行高是指行內元素的設置。到目前為止,每個答案都提到使用填充和邊距,這不適用于內嵌樣式的文本。
您可以使用垂直對齊來修改文本在其行內的位置。下面是一篇文章的鏈接,這篇文章詳細介紹了該房產及其運作方式:
http://christopheraue.net/2014/03/05/vertical-align/
一個簡單的解決方案是將行高設為70%,并添加一點底部填充。
p, h2 {
line-height:70%;
padding-bottom: 3px;
}
據我所知,使用css只對底部應用行高是不可能的。
所以可以像user1538100說的那樣用padding試試。
你可以完全忘記行高,使用底部填充:
小提琴