2013-10-31 131 views
0

我已經閱讀了很多關於CSS優先級和!重要聲明的內容,但我仍然看到this網站中發生了一些奇怪的事情。第二個CSS樣式表優先於第一個樣式表

主題帶有一個主style.css文件和幾個其他.css文件,基本上只改變顏色。因此,一個主題可以是黃色,粉紅色,白色等。 由於我不需要所有這些,我正在嘗試將文件bianco.css與style.css合併爲了只有一個文件。

我已經合併(從bianco.css中刪除了很多類),並且所有工作都正常。但我仍然需要合併其中的很多。

現在我正在努力與以下。

在主要的style.css我

body{font-family: pt-serif, sans-serif, Georgia, Helvetica, Arial;font-size:13px;background:#fff;line-height:154%!important;} 

而在bianco.css我

body{background-color:#FFF!important;font-size:13px;line-height:154%;} 

我知道,如果一個特定的屬性是在兩個不同的文件選擇,那麼最新的一個將會被應用。但是,如果只有一個屬性被聲明,那麼只有這一個將被選擇和應用。它與哪個文件無關,重要的是要加載該字段。

因此,如果我嘗試從bianco.css文件中刪除整行,那麼網站中的字體會變大。這很奇怪。文件style.css被加載,我可以看到Chrome開發者工具中加載的font-size:13px;,但由於某種原因它被忽略。而且我沒有看到任何其他可能會覆蓋字體大小的風格。

有人知道這裏發生了什麼嗎?什麼使style.css規則被忽略?

+0

檢查此http://specificity.keegan.st/ – Michal

+0

兩種樣式表中的font-size和line-height都相同。 – DAC84

回答

3

如果從bianco.css它需要風格從一些slideshow.css刪除13像素,這是corrosponding線

html,body,div,span,object,iframe,h1,h2,h3,h4,h5,h6,blockquote,pre,a,abbr,acronym,address,code,del,dfn,em,img,q,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,dialog,figure,footer,header,hgroup,nav,section 
{ margin:0; 
padding:0; 
border:0; 
font-weight:inherit; 
font-style:inherit; 
font-size:100%; 
font-family:inherit; 
vertical-align:baseline; 
} 

這就是爲什麼字體變得更大嘗試編輯/刪除此的原因。它會接受style.css 13 px字體大小

+0

謝謝。這是解決方案。請幫助我理解。我認爲'font-size:100%;'意味着:之前設置的大小的100%,所以13px。這就是爲什麼我認爲它不能影響將在下面加載的代碼。爲什麼'font-size:100%;'是放大字體而不是保持不變? – Pikk

+0

字體大小爲100%是默認的瀏覽器特定的字體大小,這是我估計14 px左右。不確定 。這是它在增加的邊緣 – lopa