2009-09-12 110 views
2

我目前遇到Internet Explorer 8的问题,忽略了包含复选框的列表上的填充/行高。Internet Explorer 8和复选框CSS问题

要从这里开始是我的CSS和XHTML标记here,问题发生在列表元素,其中包括私人

目前Firefox 3,Internet Explorer 7,Safari 3,Google Chrome完美呈现此列表,screenshot此处。但这是Internet Explorer 8呈现列表screenshot的方式。

任何人都可以提出一种方法来解决这个问题?

在此先感谢!

+0

噢,歌剧没有测试? – random 2009-09-12 09:50:14

+0

我只是看了一下在Opera中出现的相同问题! Arggg! – schone 2009-09-12 10:29:50

回答

3

我也曾经有一些问题与IE8。所以,我宣布了一个不同的文档类型,它的工作!

目前,您正在起诉xhtml过渡。

试试这个:(OK,编辑)

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" 
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> 

阅读更多关于文档类型,以及他们如何可以在这里解决网站: A list apart-Fix your site with right doctype

+0

+1对此也很挑剔 – 2009-09-12 09:53:09

+0

修正了这个问题,但打破了我网站的其他部分:/ 有什么想法可以解释为什么会出现这种情况? – schone 2009-09-12 10:28:42

+1

那么它应该是XHTML 1.0 Strict,因为您使用的是XHTML语法而不是HTML4。无论哪种方式,严格/过渡通常在完全标准和“几乎标准”模式之间切换;通常没有太大的区别。奇怪的是,你的过渡文档应该让你处于几乎标准模式,这比IE7更接近完全标准。 – bobince 2009-09-12 10:33:55

1

看来,在IE浏览器(和Opera,因为它发生)复选框不参与锂的在线内容,因此,既然因为它浮动标签不任,行li的高度设置不起作用。

添加一个& nbsp;在复选框行中的标签之后,并且足以让行高生效,并且所有的里程将保持相同的高度。

2
// fix for ie8 printed checkbox bug using jquery 
$('input[type=checkbox]').live('change', function(){ 
    if($(this).is(':checked')){ 
     $(this).attr('checked', true); 
    } else { 
     $(this).attr('checked', false); 
    } 
}); 

IE8 checkbox not printing bug fix using jQuery