关于CSS,为什么我一个ID可以给很多个标签定义样式啊? 正常吗?

html-css015

关于CSS,为什么我一个ID可以给很多个标签定义样式啊? 正常吗?,第1张

ID给很多个标签定义样式是不正常的。页面存在多个相同的ID影响就是不能通过W3的校验。

在页面显示上,目前的浏览器还都允许犯这个错误,用多个相同ID“一般情况下”也能正常显示。但是当你需要用JavaScript通过id来控制这个div,那就会出现错误。

id是一个标签,用于区分不同的结构和内容,就象人的名字,如果一个屋子有2个人同名,就会出现混淆;

class是一个样式,可以套在任何结构和内容上,就象一件衣服;

概念上说就是不一样的:

id是先找到结构/内容,再给它定义样式;class是先定义好一种样式,再套给多个结构/内容。

也就是说建议在写XHML+CSS时如果是唯一的结构定位的就用id,否则就用class。

var reg = /<div[^>]+id[=\"\']+([^\"\']*)[\"\']?z\-index[:\x20\r\n\f]+2147483646/gi

var html = document.body.innerHTML

html.match(reg)

var div = document.getElementById(RegExp.$1)