回答
簡版:line-height: 150%
是靜態的,line-height: 1.5
是動態的。對繼承元素的影響更爲明顯。舉個例子:
HTML
<div style="font-size: 12px">
<span style="font-size: 24px">test</span>
</div>
這個CSS
div { line-height: 150%; } /* Computed line-height: 18px (150% * 12px) */
span { } /* Computed line-height: 18px (inherited directly) */
與此相反:
div { line-height: 1.5 } /* Computed line-height: 18px (1.5 * 12px) */
span { } /* Computed line-height: 36px (1.5 * 24px) */
你可以閱讀更多的CSS2 specs page
兩者相當。
line-height: 1.5
(沒有單位)會將元素的字體大小減去1.5
來計算行高度。
line-height: 150%
將採取該元素的計算字體大小的150%
計算行高度,相當於由1.5
乘以它。下面
例子中的三個規則具有相同的結果行高度:
div { line-height: 1.2; font-size: 10pt } /* number */
div { line-height: 1.2em; font-size: 10pt } /* length */
div { line-height: 120%; font-size: 10pt } /* percentage */
現在讓我們來看看the question you asked。
我再現了兩種情況:
- http://gregory.pakosz.fr/stackoverflow/2040694-number.html
- http://gregory.pakosz.fr/stackoverflow/2040694-percentage.html
在1),母公司的div的line-height
設置爲1.5
乘以div的實際字體大小。由於您更改了其實際字體大小,因此該屬性將繼承並重新計算給子span
。
在2)中,父級的div的line-height
設置爲div的計算字體大小的150%
。然後span
的計算字體大小從div
繼承,因此該繼承計算字體大小的150%
導致相同的值。
作爲@K總理總結出來的,該帶走的是可能:line-height: 150%
是靜態的,line-height: 1.5
是動態
參考文獻:
不,他們是不參見我以前的帖子: http://stackoverflow.com/questions/2040694/how-to-fix-this-kind-of-problem – user198729 2010-01-11 09:20:38
是不是「元素的字體大小」和「元素的計算字體大小」是一回事? – user198729 2010-01-11 09:52:12
不,他們不是。我花了一段時間上傳文件,同時其他答案也很完美 – 2010-01-11 10:09:21
line-height: normal |
<number>|
<length>|
<percentage>
<number>
使用的值是無單位乘以元素的字體大小。計算出的值與指定的值相同。在大多數情況下,這是在繼承情況下設置行高並且沒有意外結果的首選方法。
<percentage>
相對於元素本身的字體大小。計算出的值是該百分比乘以元素的計算字體大小。
- 1. lineHeight和領先之間有什麼區別?
- 2. fabricjs IText- Varied LineHeight
- 3. Textarea lineheight滾動後
- 4. phpword生成的文件在mac和windows上有不同的lineheight
- 5. 有沒有辦法在Silverlight 4 RichTextBox中設置LineHeight?
- 6. .show()和.css({'display':'block'})有什麼區別?
- 7. css和scss有什麼區別?
- 8. #和。有什麼區別?與CSS?
- 9. CKeditor上的LineHeight插件問題
- 10. UILabel的多色着色與保存lineHeight
- 11. 有什麼區別`和$(Bash中有什麼區別?
- 12. 在angularJs 1.5中,@和<是什麼區別?
- 13. Nokogiri中.at_css與.css有什麼區別?
- 14. 在JavaScript中,'\'和'\ n'有什麼區別?
- 15. =和在mysql中有什麼區別?
- 16. 在Ember.js中,[]和Ember.A([])有什麼區別?
- 17. 在PHP中!==和!=有什麼區別?
- 18. *和。*在matlab中有什麼區別?
- 19. !=和=!有什麼區別!在Java中?
- 20. &&和||有什麼區別?在JavaScript中?
- 21. 在Prolog中==和= =有什麼區別?
- 22. 〜/和〜在linux中有什麼區別?
- 23. 在CSS中,html [lang =「en」]和html:lang(en)有什麼區別?
- 24. 在CSS中,VW和EM有什麼區別?
- 25. Wpf-如何在代碼中獲取正常TextBox的LineHeight?
- 26. 如何在firefox中使用lineheight的calc?它不起作用
- 27. 在Silverlight中爲Windows Phone 7應用程序調整LineHeight
- 28. 在我的div中使用列表增加lineheight
- 29. ==和===有什麼區別?
- 30. ==和===有什麼區別?
如果可以的話,我會給+2,花了太多時間想出明確的句子來解釋它 – 2010-01-11 10:18:20
我認爲150 %是通過繼承的字體大小來計算的,但1.5是通過計算字體大小來計算的。那是對的嗎? – user198729 2010-01-11 11:14:18
更像是150%是直接繼承的,但每次重新計算1.5次 – 2010-01-12 01:16:50