2013-07-02 71 views
0

我有一個樣式表,我一直在構建大約100條規則,總共約有500條聲明。當我添加另一個規則時,它不適用 - 如果我在測試頁面時在Chrome中打開開發人員工具,則該元素沒有列出任何樣式。到目前爲止,所有其他規則在樣式表中都沒有明顯的語法錯誤。說到這一點,我使用了NetBeans,它沒有顯示任何錯誤,只是發現規則正常。爲了避免拼寫錯誤的可能性,我讓NetBeans找到了規則並自動填充它。HTML元素有選擇地採用樣式表中的規則

極限研究表明我完全處於任何極限的範圍內,但我創建了一個新的樣式表來測試。我添加了一個規則,其中包含我之前嘗試的所有必要聲明以及新樣式表的工作方式。這與原始樣式表一起。但是,如果我添加另一個規則,它將不起作用。只有我添加的原始規則纔有效,其他任何附加規則都不起作用,包括完全刪除原始規則。

任何內聯樣式我創建工作很好,對以前規則的任何修改都會生效。我不知道該從哪裏出發,因爲這個問題似乎沒有任何一致性。有人有任何建議嗎?


編輯

我做了一個有趣的發現。我的導入CSS的方式是這樣的所有頁面:

<link rel="stylesheet" type="text/css" href="./primary.css"> 

我試着@import相同的故障結果。 然而,如果我通過PHP包含文件中的所有規則按預期工作:

<?php require_once('./primary.css'); ?> 

是否有任何可能的解釋這個?主要的區別在於,現在所有的規則都是在頁面上而不是文件中,這意味着問題在於如何處理文件。


EDIT 2

在從FelipeAls建議,我就大量評論的大部分代碼找到問題區域。當其他人被評論時,新規則起作用; 但是,因爲我慢慢地重新引入了代碼,所以沒有這樣的問題區域,一旦所有代碼都可用,問題就不復存在。這使我相信在某個地方可能會有流氓評論,可能是空白或線路回報錯誤。無論哪種方式,代碼的工作原理應該是一次。

+1

顯示一些代碼。 – Cfreak

回答

0
  1. 是不是validate? (或做每個「錯誤」 /警告你明白了嗎?)
  2. 同爲HTML代碼,只是如果你在你的樣式表末尾添加什麼樣body { background-color: pink !important }測試規則的情況下
  3. ?現在您的樣式表開始附近的
  4. 更改頁面中的一些文字。你能看到修改或者你有一些代理嗎?
  5. 刪除後半部分的CSS規則。你現在可以在剩餘的上半場之前和之後添加新的規則並看到它們的效果嗎?沒有?然後刪除前半部分規則並重複測試。重複一半等等,直到一些工作(二分法)
  6. 將您的樣式表重命名爲cacheorproxyfromhell.css?v=130702-0634並嘗試使用此樣式設置您的頁面樣式。你的開發工具(Firebug等)是否顯示加載了不同的CSS?現在修改是否有效?

有一次,我忘了關閉)url(並作廢的所有規則(CSS幾十行的),到第二天收盤) ......我花了一段時間來弄明白,而我是修改這部分!
編輯:限制?不。 IE8可以達到31個樣式表的限制, 8192規則,但現在不打擾

+0

我一直在瀏覽我的代碼,並排除了一些我認爲是問題的事情(我最近做了一些修改),但我沒有想過要消除大部分來發現問題。我會給你一個去看看我得到的。我的編輯可能表明,PHP包含意味着這個問題被忽略,而不是打破其餘的代碼。謝謝! –