非英语IE9和CSS不透明度

时间:2012-01-11 12:27:34

标签: css css3 localization internet-explorer-9 opacity

请查看以下HTML代码:

<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
    <head>
        <meta http-equiv="X-UA-Compatible" content="IE=9" />
        <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
    </head>
    <body>
        <div style="opacity:0.5">Hello World</div>
    </body>
</html>

在英语IE9上,事情按预期进行,“Hello World”div显示所需的(50%)不透明度,但在德语IE9上,div被隐藏,通过查看“F12开发人员工具”中的DOM,我可以看到不透明度评估为0而不是0.5。此外,在将具有小数部分的任何其他值分配给不透明度属性之后,导致后者仅评估忽略小数部分的整数部分(即不透明度:22.34评估为22)。任何想法英语IE9和德国IE9之间可能有什么区别导致这种奇怪的CSS行为以及如何解决它(重要提示:我不想使用替代属性,如filter:alpha或-ms-filter等。)?

1 个答案:

答案 0 :(得分:1)

非常奇怪的行为:S

我能想到的唯一想法是关于德语和英语中使用的小数点。在英语中它是一个点(0.5)而在德语中是一个逗号(0,5)。您可以尝试使用逗号来查看它发生了什么。但如果这是问题,那就非常奇怪,因为我认为符号取决于CSS规范而不是每个国家使用的小数点。而且我认为两个IE共享相同的核心并且只有L10n(本地化)变化。

或者看看两个IE是否完全相同(不仅仅是9,而是9.whatever)。可能是某个版本中的错误。