變數作用域: 1、全局變數:在全局作用域下聲明的變數 在函數內部沒有聲明直接賦值的變數也是屬於全局變數 全局變數:只有瀏覽器關閉的時候才會銷毀,比較占記憶體資源 局部變數 :當我們程式執行完畢就會銷毀,比較節約記憶體資源 作用域鏈:內部函數訪問外部函數的變數,採取的是鏈式查找的方式來決定取哪個值 這 ...
• 先上總結: a. 說明: i. 公式: (行內, Id, 類, 標簽) ii. 規則: 從左至右依次做個數上的比較, 如果同級數量一致, 則比較下一級個數, 直到某一級數量不一致, 則數量較大的一方選擇器的優先順序較高, 後面的數量就無需比較了。 如選擇器1 (0, 0, 1, 0), 選擇器2 (0, 0, 0, 3), 那麼選擇器1的優先順序高於選擇器2。如果所有的數值都一致的話, 說明兩選擇器相同, 那就依據css層疊性的特點. 瀏覽器會選擇後一個選擇器 b. 備註: i. 權重疊加計算不是正常的加法計算, 不需要逢十進一。 如標簽是11 類是0 那麼只可以是 (0, 0, 0 , 11), 不能是(0, 0, 1, 1) ii. * 通配符沒有權重 iii. 無論父標簽用了什麼選擇器並設置了什麼樣式, 對子標簽來說都是繼承, 繼承的優先順序永遠是最低的。 • 準備: 先添加一段html代碼
這是一個段落
之後為了能更好地查看結果, 設置點字體樣式, 由於咱代碼簡單, 就使用一個通配符選擇器設置樣式 * { font-family: 楷體; font-size: 60px; } • 代碼示例說明: 1. 同級數量的比較 a. 先寫一個p標簽選擇器, 運行一下效果 /* (0, 0, 0, 1) */ p { color: blue; } b. 再寫一個後代選擇器如下, 再運行一下效果 /* (0, 0, 0, 2) */ div p { color: aqua; }由於後者標簽數量高於前者標簽數量, 所以後者選擇器高 建議: 可以把b步驟的代碼放在a步驟的前面 ,這樣可以更好地體現優先順序的關係(優先順序是沒有層疊性的特點), 可以更好地排除層疊性的可能(雖然根本就沒這可能, 只是方便理解), 以下示例皆是如此 2. 不同級別的比較 a. 設計一個類構造器 /* (0, 0, 1, 0) */ .son { color: darkslategray; } b. 在p標簽上加上類選擇器這是一個段落
由於類級別比標簽高, 所以.son 選擇器的優先順序別高於div p選擇器 3. 統配符沒有權重的問題 首先優先順序是沒有層疊性的特點的, 這個在建議中也有描述。 其次咱可以假設它具備權重, 那樣的話它就不會有層疊行的效果 a. 先寫一個p標簽選擇器, 樣式和之前的一樣 p { color: blue; } b. 之後在它的後面寫一個* p選擇器 * p { color: yellowgreen; } 查看效果是文字的顏色是yellowgreen。 c. 接下來把* p選擇器的代碼放在p選擇器之上, 再運行 這時候會發現字體顏色由原來的yellowgreen變為了blue。這就說明它並沒有體現優先順序, 而是體現出了層疊性的效果, 所以說通配符在權重疊加計算中沒有任何權重 • 示例代碼: 以下是我的實例代碼, 請參考這是一個段落
• 備註: 頭回寫博客,如有寫的不好或是有問題, 還請多多指教多多擔待, 如有問題或是建議, 歡迎評論區里留言