2012-01-27 75 views
3

到標籤內容延遲外觀我使用:after加星號的要求後:IE8:使用jQuery用戶界面對話框

.field-name 
{ 
    color: #444; 
    font-family: verdana; 
    font-size: 0.85em; 
    line-height: 2em; 
} 

.field-name.required:after 
{ 
    content: '*'; 
    color: #ff0000; 
} 

這個偉大的工程,當內容不是一個jQuery對話框內。但是,使用jQuery對話框時,只有在對話框被覆蓋時纔會顯示星號。有關IE8中的示例,請參閱this jsFiddle。單擊該按鈕,然後將鼠標移到實際的對話窗口上。在所有其他現代瀏覽器中,這都可以按預期工作。這是一個已知的錯誤?

+1

你知道你不應該使用CSS來修改你的內容嗎?我曾嘗試使用IE9的jsFiddle,但在IE8瀏覽器模式下,對我來說工作正常。不知道是否必須設置iFrame瀏覽器模式,儘管 – jValdron 2012-01-29 14:09:23

+0

@jValdron - 你爲什麼說「你不應該使用CSS來修改你的內容」?使用':after'和':content'是對面包屑等東西造型的一種非常常見的方法。 – TheCloudlessSky 2012-01-29 16:11:56

+1

CSS是用於向頁面添加演示文稿,而不是內容。對於麪包屑,我通常在+選擇器上使用背景和填充 - 左鍵。但是,是的,他們應該有一個理由補充說:內容和:之後:) – jValdron 2012-01-29 16:13:56

回答

1

不要使用CSS添加星號。使用javascript的方法將文本添加到Dom元素的末尾。 CSS不是內容,而是用於設計內容的樣式。

+0

爲什麼我會使用jQuery來完成使用CSS這麼簡單的事情。另外,添加星號*就是標籤的樣式。 「jQuery越來越困惑」是什麼意思?這是做這件事的標準方式。此外,它適用於所有其他現代瀏覽器(包括IE9)。 – TheCloudlessSky 2012-01-29 16:13:04

+0

我更新了我的問題。 IE(過去)有很多問題,錯誤和表示錯誤,所以IE 8(即使它更成熟)仍然存在表示問題。 – alexy13 2012-01-29 18:46:51

+0

院長愛德華茲有一個腳本,(谷歌他的名字),可以解決與IE瀏覽器的各種演示問題。它可能能夠解決這個問題。 – alexy13 2012-01-29 18:48:16

0

當通過CSS屬性content(可能是VoiceOver除外)添加這些星號時,屏幕閱讀器將不會讀取這些星號,即使它是傳遞的重要信息。

您應該將它們添加到服務器端:每個人都會看到它們,無論是否運行腳本。您還應該在表單的開頭添加一個像'帶*標記的字段'這樣的句子,因爲不是每個人都知道這些星星的含義。

+0

這不回答這個問題... – TheCloudlessSky 2012-01-30 11:04:46

0

我們知道IE8有​​issues rendering generated content。 z-index沒有正確設置。我建議在父元素上設置一個更高的Z-index,如here所述。當您將鼠標懸停在它上面時,jQuery UI對話框可能會更改定位屬性。不幸的是,我不能真正測試這個,因爲我沒有在這裏運行IE8,但我希望這有助於。

+0

感謝您的建議,但沒有工作:( – TheCloudlessSky 2012-01-30 20:30:00

+0

我會繼續尋找,如果我遇到的東西。 – 2012-01-30 20:42:37

相關問題