2012-12-22 34 views
1

我有一個關於CSS文件的問題,它是在瀏覽器中應用的順序。 我們:申請訂單的CSS文件

  1. 瀏覽器(系統)CSS文件,
  2. 用戶CSS文件,
  3. 用戶CSS重要文件,
  4. 網站CSS文件,
  5. 網站CSS重要文件,

頁面加載時,一些CSS代碼根據順序或!重要的詞語替換其他代碼。我上面列出的訂單是正確的,所以網站CSS重要文件可以覆蓋所有以前的樣式?

+0

你想要什麼?你是否希望能夠使用'site CSS important file'中的樣式重載所有樣式?如果是,那麼順序是正確的。 –

回答

2

CSS代碼不會替代其他CSS代碼,並且解析樣式表的順序不相關。實際上沒有應用順序,因爲所有適用的樣式表都被考慮在內。當幾個樣式表爲一個元素的屬性賦值時,衝突根據cascade rules解決。順序則是:

  1. 用戶代理報關(瀏覽器的默認樣式)

  2. 用戶正常聲明

  3. 作者(頁)正常聲明

  4. 作者(頁)重要聲明

  5. 用戶重要聲明

因此,作者(頁)!important聲明勝過一切,但用戶!important聲明。在Css 1中,順序是不同的,但在CSS 2和瀏覽器中按照現行規則進行了更改:如果用戶希望行使其權限,則用戶始終擁有最後一個字。

0

編號用戶CSS文件將在網站CSS文件後解析(否則用戶CSS文件沒有任何意義)。這並不意味着它會自動覆蓋網站的css文件中的所有內容,但正常CSS specificity rules仍然適用。

讓我們把紅色的所有段落爲例我的網站有規則:

website.css: p { color: red; } 

但是,如果我實現用戶樣式表(如userContent.css在FireFox)說:

FireFox userContent.css: p { color: blue; } 

文字顏色爲藍色。

如果我然後標記該網站的規則很重要:

website.css: p { color: red; !important } 

顏色將再次紅了。