CSS 中的聲明,由 CSS 的特性和值,中間以 ":" 隔開組成。
我們可以使用 CSS 選擇器,為選中的元素設置需要的樣式。
在介紹 CSS 的特性和值的時候,特地的提到了瀏覽器應該怎樣處理錯誤的值 -- 應該將包含錯誤值,不符合句法的值的聲明直接忽略。然而有些瀏覽器卻按照自己的方式做了某些糾正,也就是瀏覽器容錯。
那么,有沒有想過,在我們給予一個特性正確的值的情況下,瀏覽器應該怎樣處理呢?是否最終你看到的就是你設置的值呢?答案是否定的!
當瀏覽器解析了一個文檔 ( document ) 并且生成了文檔樹 ( document tree ),那么,它必須為文檔樹中的每一個元素,根據目標媒介類型所適用的每一個特性,指定一個值。
而開發者給某個元素的 CSS 特性設置某個值,到這個元素的特性值被計算渲染,也就是得到最終的值,需要經過四步計算:
(1)通過指定值 ( specified value ) 確定這個值;
(2)將這個值分解為一個可以用來繼承的值,即計算后的值 ( computed value );
(3)必要情況下把計算后的值轉換成一個絕對的值,即使用值 ( used value )
(4)根據顯示環境的限制,改變使用值以使之能夠顯示在用戶端,最后這個值被稱作實際值 ( actual value )。
這些值的計算過程類似工資的計算過程,你的應得工資是一個設置值,實際工資還要減掉你的缺勤,保險,個人所得稅等……實際計算出來的數字才是應用到你身上的具體數額。
下面來詳細的介紹這四個步驟的四種值。
一、指定值
一般來講,開發者設定的值,即為指定值,但是最終這個值的確定還需考慮其他幾個方面( 按照優先順序排列 )。
1.層疊順序
首先考慮有層疊順序的情況,即開發者明確了設置了 CSS 特性的值。
層疊順序會影響開發者設定的值,所以,應該根據層疊順序來確定聲明的優先級別,優先級高的聲明才會起作用。關于層疊順序,后續會有詳細的說明。
例如,開發者在定義樣式的時候,加了 '!important' 的聲明要優于未加 '!important' 的聲明。
|
新聞熱點
疑難解答