html中的唯一id值

html中的唯一id值,html,firefox,google-chrome,Html,Firefox,Google Chrome,这个问题更多的是出于好奇,而不是被卡住。我知道html中的id必须是唯一的,我可以看到html验证中的错误。然而,浏览器很乐意将样式表应用于这两个元素。是因为他们在解析方面比较放松还是什么。这是不是意味着我可以用它来做造型,或者它有副作用 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> <html lang

这个问题更多的是出于好奇,而不是被卡住。我知道html中的id必须是唯一的,我可以看到html验证中的错误。然而,浏览器很乐意将样式表应用于这两个元素。是因为他们在解析方面比较放松还是什么。这是不是意味着我可以用它来做造型,或者它有副作用

<!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>

#abc{颜色:红色;}
你好,第一组
你好,第二组
在浏览器中输出。

我不会相信那种行为。正如您已经知道的,具有相同ID的两个元素是错误的

是的,用户可以在一定程度上容忍HTML中的错误,并尝试进行补偿。例如,缺少结束标记。这或多或少是好的,取决于错误


应使用多个元素设置样式。

如果浏览器每次加载带有错误的HTML页面时都会死机,那么它将一直死机。而且你也不会太看重浏览器

对于一个浏览器来说,尽可能地宽容并尽可能地利用它所拥有的一切是很重要的。由于这个原因,所有浏览器在处理标记时都倾向于非常宽松

当然,这并不意味着不应该编写有效的HTML。

使用“类”来调整css


副作用:当您想要使用getElementById并添加动态功能时,您会感觉不太舒服。从设计角度看,这无关紧要。

ehhh。。。。您最好使用CSS类。。。