(高階)繼承的值與計算的值

李鬆峰發表於2012-11-24

本文節選自《CSS設計指南(第3版》。
第1章完全免費試讀,電子書線上熱賣中:http://www.ituring.com.cn/book/1111

以下內容節選自第4章。

有一個非常重要的問題,必須請讀者注意:text-indent是可以被子元素繼承的。如果你在一個div上設定了text-indent屬性,那麼div中的所有段落都會繼承該縮排值。然而,與所有繼承的CSS值一樣,這個縮排值並不是祖先元素中設定的值,而是計算的值。下面舉一個例子說明。

假設有一個400畫素寬的div,包含的文字縮排5%,則縮排的距離是20畫素(400的5%)。在這個div中有一個200畫素寬的段落。作為子元素,它繼承父元素的text-indent值,所以它包含的文字也縮排。但繼承的縮排值是多少呢?不是5%,而是20畫素。也就是說,子元素繼承的是根據父元素寬度計算得到的縮排值。結果,雖然段落只有父元素一半寬,但其中的文字也會縮排20畫素。這樣可以確保無論段落多寬,它們的縮排距離都一樣。當然,在子元素上重新設定text-indent屬性,可以覆蓋繼承的值。

相關文章