Html IE9上的奇怪错误:<;ul>;和rtl
首先,很抱歉我的英语不好 我遇到了一个非常奇怪的错误,它只发生在InternetExplorer9中 代码如下: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&
<!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同样是不幸听到的。