a元素顏色不能繼承父元素的原因

2022-06-29 06:48:08 字數 1454 閱讀 1146

首先先思考乙個問題:

為什麼都沒設定給 a元素和p元素的字型顏色,他兩都有顏色,而且顏色還不一樣。

這裡涉及到乙個知識點,繼承,父元素填寫跟文字內容相關的css樣式可以被子元素繼承,但是也不是絕對,上面的a元素就是乙個例子,那到底是什麼原因導致了這種情況發生呢,這就涉及到了頁面渲染的過程 :

瀏覽器呢,他在讀**,是一行一行讀的,也是樹型的一種結構

他在渲染每個元素的前提條件呢,是該元素他的所有css屬性,必須要有值,如果沒有值呢,瀏覽器怎麼知道這個元素是什麼樣子的,他要怎麼顯示在頁面呢,(我告訴你有個人他有個嘴巴,有一雙眼睛,那麼請你畫出來他的全身,你肯定畫不出來吧。)乙個元素從沒有屬性值到擁有所有值的過程,就叫做屬性值的計算過程

屬性值的計算過程:

1、確定宣告值:

先了解乙個東西,樣式表,瀏覽器呢,他自己有乙個樣式表,有沒有發現,你在寫h1或者其他元素的時候,字型比較大,還加粗了,這就是瀏覽器的樣式表起的作用,html只是結構,真正要起到顯示作用的,一定是css控制的。

除了瀏覽器有預設的樣式表之外,還有我們自己寫的css樣式,叫作者樣式表。

那麼屬性值的計算過程,第一步就是確定宣告值,作者樣式表中和瀏覽器預設樣式表中,沒有衝突的宣告,就會直接進行賦值:

2、層疊衝突:

那麼進行了第一步之後,第二步就是來處理層疊衝突的:

3、使用繼承:

對仍然沒有值的屬性,如果父元素可以繼承,就會繼承父元素的值

回過頭來看前面那個問題:

4、使用預設值:對於那些繼承之後還是沒有值的屬性,使用預設值。

最後,謝謝你的**。

css子元素繼承父元素屬性

樣例 ant design form表單中label樣式的修改 css屬性繼承 文字 color 顏色,a元素除外 direction 方向 font 字型 font family 字型系列 font size 字型大小 font style 用於設定斜體 font variant 用於設定小型大寫...

a標籤不能繼承父級的顏色

因為a標籤不能繼承樣式,所以 li a重新設定 1 結論 由於css的層疊 cascading a元素繼承自li的樣式 color 25a725 被瀏覽器的a元素的預設樣式給覆蓋了。2 理由 看圖 圖一 圖二 由以上兩個圖可以知道 1 瀏覽器本身對a元素有預設樣式 user agent styles...

jQuery如何阻止子元素繼承父元素事件?

b a a click 這種繫結的話,b也會響應一次事件,如何只對a元素繫結事件,而不對子元素繫結呢?即b被click之後自己並不觸發 函式,而是把事件傳遞給a。我現在的做法是 直接在a上寫,這樣b就不會把自己作為event.target觸發 了.更新 大家可能對我的意思有誤解,我不是要阻止事件冒泡...