2010-05-04 55 views
3

我有以下div被呈现给客户端,但在IE上,checked-yes类被忽略。如果我在“开发人员工具”中查看目标元素,则该类从样式面板中完全丢失。 shift-item-present类是连接服务器端,checked-yes类客户端端,这取决于父行的present属性,如下所示。第二个CSS类不工作在IE8

<td><div class="shift-item-present checked-yes" jQuery1272958392665="94"/></td> 

父行:

<tr class="shift-item" id="ctl00_mainContentPlaceHolder_ctl00_shiftList_ctl01_shiftRow" present="True" shift-id="641" jQuery1272958392665="64"> 

页完全在FF。这里是CSS,都在同一个文件中:

.shift-item-present 
{ 
    top: 2px; 
    left: 2px; 
    height: 12px; 
    width: 20px; 
    background-repeat: no-repeat; 
    background-position: center right; 
} 

.checked-yes 
{ 
    background-image: url('../Images/Icons/checked-yes-xs.png'); 
} 
+2

我假设CSS没有应用,你可以发布吗? – Kobi 2010-05-04 07:49:25

+0

我已经添加了CSS。 – ProfK 2010-05-04 08:03:56

回答

3

Internet Explorer不支持XHTML!甚至没有IE8。所以它不支持自闭元素。使用<div></div>而不是<div/>

+0

如果文档类型设置正确,IE8可以使用它。 – VMAtm 2010-05-04 09:00:03

+0

不,它不能。它可能在偶然的情况下工作,因为'div'本身就是'td',但这并不改变** IE8不支持自闭元素**的事实。 – RoToRa 2010-05-04 09:13:28

+0

“IE8可以使用它。”错误!当你认为它“有效”时,这是因为你错误地将XHTML作为text/html(而不是application/xhtml + xml)发送,导致IE(和其他人)无论如何都将其解析为HTML。发送它与适当的MIME,以允许正确的XHTML解析(和IE扼杀它,给出一个下载对话框)。 – 2010-05-04 11:45:33

0

当IE8以怪癖模式渲染页面时,可能会发生这种情况。尝试设置正确的DOCTYPE。

+0

什么是正确的DOCTYPE?这是VS生成的默认值,我认为我可以认为这是正确的。 – ProfK 2010-05-04 08:04:33

+0

可能你会发布整个文件或html输出吗?这可能有帮助 – VMAtm 2010-05-04 09:05:51