2012-01-27 76 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

相关问题