上邊文章我們說了使用css的三種不同的選擇器,本篇文章我們主要介紹css的繼承規則以及css代碼的權重優先級問題。
(1)css的繼承規則
CSS的某些樣式代碼是具有繼承性的,那麼究竟什麼是繼承呢?繼承是一種規則,它允許樣式不僅應用於某個特定html標籤元素,而且應用於其後代。比如下面代碼:我們設置p標籤的字體顏色為紅色並添加1像素的紅色邊框。
在網頁中的顯示效果就如下圖所示:
從上邊的圖片你可以看出字體顏色為紅色不僅使p標籤中的文字變成了紅色,還應用於p標籤中的所有子元素文本,這裡子元素為span標籤。但是邊框屬性並沒有應用到子元素中去。
經過我們總結測試,可以得出以下結論:
關於文字樣式的屬性,都具有繼承性。這些屬性包括:color、 text-開頭的、line-開頭的、font-開頭的。關於盒子、定位、布局的屬性,都不能繼承。(2)css代碼的權重優先級
css就像工程師一樣是很嚴謹的,有的時候我們為同一個元素設置了不同的CSS樣式代碼,那么元素會啟用哪一個CSS樣式呢?我們來看一下面的代碼:
上邊的代碼中,p和.first都匹配到了p這個標籤上,那麼會顯示哪種顏色呢?#0f0是正確的顏色,那麼為什麼呢?是因為瀏覽器是根據權值來判斷使用哪種css樣式的,權值高的就使用哪種css樣式。
下面是權值的規則:
標籤(div、p、span等)的權值為1,類選擇符(.xxx)的權值為10,ID選擇符(#xxx)的權值為100,內聯樣式(style="color:#f00;")的權值為1000。
我們來做一個權重的拔高練習,觀察以下代碼看一下p標籤以及span標籤內的文字顯示顏色應該是什麼?
由上邊我們可以看出來,p標籤的樣式中#second的權值最高為100,那麼p的文字顏色為yellow,而span標籤樣式中內聯樣式權值最高為1000,那麼span的文字顏色就為#000。我們的結果就會如下圖所示:
對於css的繼承以及代碼優先級的問題我們今天就先介紹到這裡,大家在平時可以自己多加練習練習,自己多寫幾個權重的例子嘗試嘗試。
每日金句:人若有志,就不會在半坡停止。喜歡我的文章的小夥伴記得關注一下哦,每天將為你更新最新知識。