CSS中不支持子元素繼承,常常讓人感到困惑。這意味著一個元素的樣式不會傳遞給它的子元素,除非我們顯式地定義它們的樣式。
.parent { font-size: 20px; color: blue; } .child { /*這樣是無效的*/ }
如上所示,如果我們想讓子元素繼承父元素的字體大小和顏色,我們需要在子元素類中再次定義這些屬性:
.parent { font-size: 20px; color: blue; } .child { font-size: inherit; color: inherit; /* 通過inherit 關鍵字達到繼承效果*/ }
如此一來,子元素就會繼承父元素的樣式了。
有時候我們希望在子元素中覆蓋某些繼承自父元素的樣式,這時候需要明確地寫出自己的樣式。例如下面這個例子:
.parent { font-size: 20px; color: blue; } .child { color: red; }
如上所示,子元素繼承了父元素的字體大小,但字體顏色被重寫了。
總之,雖然CSS中不支持子元素繼承,但是我們可以用inherit關鍵字為子元素定義繼承自父元素的樣式。