2013-07-22 66 views
4

我想我有遇到IE8的錯誤,但我不知道......空聲明導致IE8漏洞

我不能提供一個測試用例,因爲我的CSS超過2500線長(半-minified),並且不能重新創建確切的條件。

問題

在我的巨大的CSS表,我有一個空的聲明,因爲這:

.class {} 

嗯,我通常這樣做是爲了啓動級聯,後來刪掉就行了,這次我忘了。

然後,在測試頁面時,有兩三個類逐字消失。這就像那個元素沒有CSS規則。 丟失的CSS似乎是隨機的,與空規則或級聯無關。 丟失的元素是空規則中的下一個元素。

如果我有:

.class {} 
.otherclass {color:red;} 

然後,IE8不顯示我在otherclass元素紅色。

我發現這個頁面作爲測試用例:
http://css-class.com/test/bugs/ie/8-beta/empty-declaration-hides-next-ruleset.htm

此錯誤is supposed to be fixed。所以,我在IE8中看到了這個測試用例,我看不到FF或CH或其他IE版本有什麼不同。但在我們的網站上,我可以!它與Zope/Plone一起構建,如果有幫助。

是否有任何官方消息來源認識到這個錯誤?任何人都知道爲什麼有時(或在Plone)有效,有時不會?

+0

這很奇怪;我以前沒見過。我可以建議的唯一可能是空行也包含某種無效的空白字符,它將IE的解析器用於循環?你說刪除這條線就可以工作。如果您從頭開始重新輸入行(與簡單地撤消或粘貼原始行)相反,是否會再次突破?我能想到的唯一另外一件事就是您可能處於文件大小限制的邊緣? IE8對CSS文件的數量和大小有限制;可能你是對的邊緣嗎?如果您刪除其他行,會發生什麼情況? – Spudley

+0

@Spudley嗡嗡聲,沒有任何空白區域,所以在找到bug行後,我刪除了大量的代碼段,我的意思是,就像我不知道爲什麼導致我試圖比較樣式表的行爲與舊版本(沒有空行),工作正常,並開始複製粘貼段落逐一。我只解決了刪除空行的錯誤。但是,爲了測試的目的,我會嘗試再次嘗試一下(我現在害怕,打破了程序員的第一條規則:「它起作用 - 不要碰」:D) – Arkana

+0

經過少量測試,我編輯了題。我很確定現在是「@import and empty rule」錯誤,但不知道爲什麼有時候我可以看到它,有時不會。 – Arkana

回答

0

不知道這是否會工作(它做了一個不同的錯誤,一旦工作前一陣子),

嘗試.class{;}它並馬上開始工作,但可能不是在這裏。

沒有完整的(或至少部分)代碼上下文,很難解決這種類型的錯誤。

+0

好吧,我正在尋找解釋爲什麼我看到這個(原則上)修正錯誤,或者它是否由MS或其他東西正式記錄。快速修復也通過刪除空行(畢竟它什麼都不做)。不管怎麼說,還是要謝謝你! – Arkana