回答
簡版: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. EGOTextView中的LineHeight
- 3. Windows8 ListView LineHeight
- 4. fabricjs IText- Varied LineHeight
- 5. Textarea lineheight滾動後
- 6. java 1.5和java 1.6有什麼區別
- 7. phpword生成的文件在mac和windows上有不同的lineheight
- 8. 有沒有辦法在Silverlight 4 RichTextBox中設置LineHeight?
- 9. Normalize.css和Reset CSS有什麼區別?
- 10. css和scss有什麼區別?
- 11. #和。有什麼區別?與CSS?
- 12. .show()和.css({'display':'block'})有什麼區別?
- 13. CKeditor上的LineHeight插件問題
- 14. UILabel的多色着色與保存lineHeight
- 15. 從字體獲取「上升」LineHeight
- 16. 如何更改'內部'lineheight的css文本
- 17. 有什麼區別`和$(Bash中有什麼區別?
- 18. 如何在沒有「.css('lineHeight');」的情況下使用Jquery獲取文本中行的大小「和「.css(font-size);」?
- 19. 在angularJs 1.5中,@和<是什麼區別?
- 20. Swift:我如何在UILabel上同時使用LineSpacing和LineHeight
- 21. Nokogiri中.at_css與.css有什麼區別?
- 22. 在Prolog中==和= =有什麼區別?
- 23. =和在mysql中有什麼區別?
- 24. `|。有什麼區別? `和`|| `在java中?
- 25. &和|有什麼區別?在Linux中?
- 26. |有什麼區別?和||在MATLAB中?
- 27. 〜/和〜在linux中有什麼區別?
- 28. *和。*在matlab中有什麼區別?
- 29. < - 和=在data.frame中有什麼區別?
- 30. 在PHP中!==和!=有什麼區別?
如果可以的話,我會給+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