2010-12-22 66 views
3

這個問題更多是出於好奇而非被卡住。我知道在HTML ID需要是唯一的,我可以看到在HTML驗證錯誤。然而,瀏覽器愉快地將樣式表應用於這兩個元素。是因爲他們在解析或什麼時候更輕鬆?這是否意味着我可以將其用於樣式等或它有副作用。html中唯一的id值

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> 
<html lang="en"> 
<head> 
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> 
<title></title> 

<style type="text/css"> 
    #abc { color: red; } 
</style> 
</head> 
<body> 
    <div id="abc">Hello Div 1</div> 
    <div id="abc">Hello Div 2</div> 
</body> 
</html> 

在瀏覽器中輸出。
alt text

+0

ehhh ....你最好使用CSS類... – dana 2010-12-22 00:05:15

回答

3

如果您的瀏覽器在每次加載錯誤的HTML頁面時都死掉,它會一直在死。而且你不會想太多的瀏覽器。

對於瀏覽器來說盡可能的寬容並儘可能地發揮它的作用是非常重要的。出於這個原因,所有瀏覽器在處理標記方面往往非常寬鬆。

當然,這並不意味着你不應該寫有效的HTML。

0

我不會依賴那種行爲。如你所知,擁有兩個具有相同ID的元素是錯誤的。

是的,HTML中的容忍錯誤在一定程度上延伸並試圖彌補。例如缺少結束標籤。這個工作或多或少都是好的,取決於錯誤。

造型幾個元素應該用CSS classes完成。

0

使用「class」來調整css。

副作用:當您要使用getElementById並添加動態功能時,您會感覺不太舒服。從設計角度來說並不重要。