2013-04-20 75 views
9

我想驗證這個HTML文檔http://validator.w3.org/#validate_by_input但我得到以下錯誤:在驗證器中出現雜亂的開始標記HTML?

第3行,第47列:雜散開始標記html。

<!--[if IE 7]><!--><html lang="en" class="ie7"><!--<![endif]--> 

第4行第47列:雜散開始標記html。

<!--[if IE 8]><!--><html lang="en" class="ie8"><!--<![endif]--> 

第5行第47列:雜散開始標記html。

<!--[if IE 9]><!--><html lang="en" class="ie9"><!--<![endif]--> 

第6行第46列:雜散開始標記html。

<!--[if (gt IE 9)|!(IE)]><!--><html lang="en"><!--<![endif]--> 

這是HTML我輸入:

<!DOCTYPE html> 
<html lang="en-US"> 
<!--[if IE 7]><!--><html lang="en" class="ie7"><!--<![endif]--> 
<!--[if IE 8]><!--><html lang="en" class="ie8"><!--<![endif]--> 
<!--[if IE 9]><!--><html lang="en" class="ie9"><!--<![endif]--> 
<!--[if (gt IE 9)|!(IE)]><!--><html lang="en"><!--<![endif]--> 
<head> 
<title>Test</title> 
</head> 
<body> 
</body> 
</html> 

任何想法,我要去哪裏錯了嗎?

回答

7

正確的條件註釋:

<!--[if IE 7]><html lang="en" class="ie7"><![endif]--> 
<!--[if IE 8]><html lang="en" class="ie8"><![endif]--> 
<!--[if IE 9]><html lang="en" class="ie9"><![endif]--> 
<!--[if (gt IE 9)|!(IE)]><html lang="en"><![endif]--> 
<!--[if !IE]><html lang="en-US"><![endif]--> 
+0

是。爲了澄清,''標籤在OP代碼中並不是真正的條件。對於非IE用戶代理,它們都是可見的。 – 2013-04-20 18:56:23

+0

謝謝。當然 - 我現在感覺很傻。它現在完美地工作! – Bonnie 2013-04-20 19:02:11

3

你不關閉它們。這一切,你現在定義2個html標籤。

1

您從始終存在的html標籤開始,然後根據IE的版本添加html標籤,這樣您最終可能會得到多個html標籤。

+0

謝謝! Ozerich的解決方案和你的解釋幫助我理解我出錯的地方。非常感謝。 – Bonnie 2013-04-20 19:02:47

-2
<!DOCTYPE html> 
<!--[if lt IE 7]>  <html class="no-js lt-ie9 lt-ie8 lt-ie7"> <![endif]--> 
<!--[if IE 7]>   <html class="no-js lt-ie9 lt-ie8"> <![endif]--> 
<!--[if IE 8]>   <html class="no-js lt-ie9"> <![endif]--> 
<!--[if gt IE 8]><!--> <html class="no-js"> <!--<![endif]--> 

使用此文件,然後啓動標籤...