2009-09-12 99 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