算法:將每條規(guī)則中,選擇符對應的數(shù)相加后得到的”四位數(shù)“,從左到右進行比較,大的優(yōu)先級越高??赐炅松鲜鰞?nèi)容,那我們就來看看css選擇器優(yōu)先級的具體排序。
為成華等地區(qū)用戶提供了全套網(wǎng)頁設(shè)計制作服務,及成華網(wǎng)站建設(shè)行業(yè)解決方案。主營業(yè)務為網(wǎng)站建設(shè)、做網(wǎng)站、成華網(wǎng)站設(shè)計,以傳統(tǒng)方式定制建設(shè)網(wǎng)站,并提供域名空間備案等一條龍服務,秉承以專業(yè)、用心的態(tài)度為用戶提供真誠的服務。我們深信只要達到每一位用戶的要求,就會得到認可,從而選擇與我們長期合作。這樣,我們也可以走得更遠!
首先就是CSS規(guī)則的specificity(特殊性),CSS1有一套關(guān)于specificity的計算方式,用一個四位的數(shù)字串(CSS2是三位)來表示,最終specificity越高的規(guī)則越特殊,在優(yōu)先級判定時也就越有優(yōu)勢。
按優(yōu)先級:前端優(yōu)先讀取正序。正規(guī)規(guī)范優(yōu)先倒序。style= 這樣肯定是最優(yōu)的,但也是最不推薦的。前端標簽直接寫入。延伸閱讀:讀取優(yōu)先,靈活使用,如大量頁面,每頁面都要設(shè)置。工作繁瑣,大量寫入增加代碼量。不利優(yōu)化。
選擇器優(yōu)先級:通常我們可以將CSS的優(yōu)先級由高到低分為六組:無條件優(yōu)先的屬性只需要在屬性后面使用 !important 。它會覆蓋頁面內(nèi)任何位置定義的元素樣式。
1、CSS 有 非常重要的 三個特性:層疊性、繼承性、優(yōu)先級。相同選擇器 給設(shè)置 相同的樣式,此時一個樣式就會 覆蓋(層疊) 另一個沖突的樣式。層疊主要解決樣式?jīng)_突的問題 。
2、CSS層疊性 說明層疊性是多種CSS樣式的疊加,是瀏覽器處理樣式?jīng)_突的方式。
3、層疊性 我理解中的層疊式覆蓋的意思。如果有相同的兩個樣式,只能選擇一個,則遵循就近原則。① 樣式?jīng)_突: 遵循就近原則。實例:路飛div {color: red;}div {color: pink;} 效果:② 樣式不沖突: 不會發(fā)生層疊。
4、實現(xiàn)動態(tài)更新、增強工作量。三大特性分別是層疊性、繼承性、權(quán)重性,是為了解決內(nèi)容與表現(xiàn)分離的問題。CSS可以靜態(tài)地修飾網(wǎng)頁,還可以配合各種腳本語言動態(tài)地對網(wǎng)頁各元素進行格式化。
按優(yōu)先級:前端優(yōu)先讀取正序。正規(guī)規(guī)范優(yōu)先倒序。style= 這樣肯定是最優(yōu)的,但也是最不推薦的。前端標簽直接寫入。延伸閱讀:讀取優(yōu)先,靈活使用,如大量頁面,每頁面都要設(shè)置。工作繁瑣,大量寫入增加代碼量。不利優(yōu)化。
導入外部樣式表:導入外部樣式表時使用@import,如下: @import url(myStyle.css); 這種方法和第三種方法相似,但是在輸入方法更有優(yōu)勢,實質(zhì)上相當于存在內(nèi)部樣式表中。
在html網(wǎng)頁中引入引入css主要有以下四種方式:(1)行內(nèi)式 網(wǎng)頁中css的導入方式 (2)嵌入式 嵌入式一般寫在head中,對于單個頁面來說,這種方式很方便。
內(nèi)聯(lián)樣式表:內(nèi)聯(lián)樣式表是寫在標記內(nèi)的,只對所在標記有效。內(nèi)部及聯(lián)樣式表:利用標記將樣式表嵌在HTML文件的頭部。外部級聯(lián)樣式表:使用標記可以將樣式表鏈接到網(wǎng)頁上。
導入樣式@import url=(css路徑名);這種方法一般不用,可以直接忽略。一般都是采用鏈接樣式,行內(nèi)樣式和內(nèi)嵌樣式 維護起來相對麻煩,優(yōu)先級(從高到底)行內(nèi)樣式內(nèi)嵌樣式鏈接樣式導入樣式。
CSS三種引入方式: 通過外部樣式表(external style sheets)引入; 通過內(nèi)部樣式表(internal style sheets)引入; 通過內(nèi)聯(lián)樣式(inline styles)引入。