而目前大部分浏览器确实可以定义页面中多个元素的ID相同,并赋以相同的样式,因为目前的浏览器和CSS都对其睁一只眼闭一只眼。
就比如说法律规定你做好事,但你也可以去做坏事一样。这是一个标准,你可以遵守,也可以不遵守,但是不遵守的后果很严重。
在CSS中你可能不会碰到太大的问题。但是当用JavaScript调用ID时,问题就来了,比如下面的代码:
<p id="html">人aaaaa</p>
<code id="html">fffff</code>
<script>alert(document.getElementById("html").innerHTML)</script>
这个弹出的结果是 人aaaaa。而 下面的元素就完全被忽略了。
这只是一个小小的测试,具体到做项目的时候会碰到什么后果就没法预计了。
所以建议你还是遵守标准来设计网页。
ID在页面中必须唯一。这样才符合web2.0标准。
可以这样理解:一、元素:就是html标签,比如table,tr,td,img,input等等,在对这些使用css的时候,元素名前面可以不用加任何符号,如:对网页中所有input元素用一个css样式,那么可以在样式中写 input{样式}
二、ID:如果想在网页中某个特定地方使用css,这时候就可以给那个元素一个ID,在样式的时候,ID前面要加“#”,比如:想对ID为test的表格应用一个css样式,可以写作 #test
三、类就是大多数情况下都可以调用的,在前面要加个“.”,然后在使用的时候用 “class=类名”
可以这样理解:一、元素:就是html标签,比如table,tr,td,img,input等等,在对这些使用css的时候,元素名前面可以不用加任何符号,如:对网页中所有input元素用一个css样式,那么可以在样式中写 input{样式}
二、ID:如果想在网页中某个特定地方使用css,这时候就可以给那个元素一个ID,在样式的时候,ID前面要加“#”,比如:想对ID为test的表格应用一个css样式,可以写作 #test
三、类就是大多数情况下都可以调用的,在前面要加个“.”,然后在使用的时候用 “class=类名”