Html IE9上的奇怪错误:<;ul>;和rtl

Html IE9上的奇怪错误:<;ul>;和rtl,html,css,internet-explorer,internet-explorer-9,Html,Css,Internet Explorer,Internet Explorer 9,首先,很抱歉我的英语不好 我遇到了一个非常奇怪的错误,它只发生在InternetExplorer9中 代码如下: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head&

首先,很抱歉我的英语不好

我遇到了一个非常奇怪的错误,它只发生在InternetExplorer9中

代码如下:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml"> 
    <head>
        <style type="text/css">
            html {
                direction: rtl;
            }

            ul li {
                list-style-image: url(v.gif);
                direction: rtl;
            }
        </style>
    </head>
    <body>
        <ul>
            <li>I</li>
            <li>hate</li>
            <li>IE 9</li>
        </ul>
    </body>
    </html>

html{
方向:rtl;
}
ulli{
列表样式图像:url(v.gif);
方向:rtl;
}
  • IE 9
结果如下:

用V形箭头观察图像的方向

你可以在我的网站上看到这个bug:

顺便说一句:它只发生在“方向:rtl”

有人知道这个虫子吗?
如何修复它呢?

这确实是一个奇怪的现象,可以将其归类为一个bug,因为CSS规范中没有任何内容建议这样镜像图像

这种现象似乎只发生在“标准模式”的IE9上,而不是在“怪癖模式”或以前的IE版本中

方向
上的css2.1 spec条款说:“此属性指定块的基本写入方向以及嵌入和重写的方向(请参见‘unicode bidi’)用于Unicode双向算法。此外,它还指定了表列布局的方向、水平溢出的方向、在“文本对齐:对齐”情况下块中不完整的最后一行的位置。”

虽然这个公式有点松散,但我认为你无法理解它。“嵌入方向”一词与bidi嵌入(RTL文本中的LTR文本或RTL文本中的LTR文本)有关,而与图像等嵌入内容无关

似乎不包含对此功能的任何引用

该特性可能是某人的想法,即支持RTL编写,与镜像某些字符的方式大致相同。这不是一个疯狂的想法,但它是有害的,因为它不是基于一个规范,它偏离了浏览器实践


恐怕这是一个很难避免的错误。使用浏览器嗅探并向IE 9提供镜像图像(这样当它镜像时,您就可以得到正确的图像)听起来很糟糕,您还需要一种方法来区分“标准模式”。

我遇到了同样的问题。我目前的解决方案是创建一个反向图像,并在HTML中执行以下操作

<!--[if IE 9]>
<style type="text/css">
ul li {list-style-image: url("v_reversed.gif");}
</style>
<![endif]-->


有人知道IE10中发生了什么吗?

是的,有人知道(如果它确实是一个bug的话)。你做得很好,但是你没有问一个真正的问题。你想要什么?我在Chrome 19中看到的图像与在IE中看到的图像相同9@egrunin,在Firefox和IE8中也是一样。好的,对不起,我编辑了我的问题,我看到的是你图片的反面。左边是我在IE9中看到的。哪一个是正确的?IE10同样是不幸听到的。