W3C validator complaining about duplicate div

做~自己de王妃 提交于 2019-12-10 16:44:34

问题


I use a clear div in several places in a single HTML file, a la:

#clear
{
    clear: both;
}

usage:

<div id="clear">
</div>

But W3C's HTML5 validator appears to be complaining that each subsequent use after the initial use is a "duplicate ID":

Why isn't this valid? How are you supposed to use clear divs multiple times on a single page if it isn't technically valid?

Note: this is mostly just an informative question, my HTML renders fine on all modern browsers, and given that this is the only error the HTML5 validator can find, I don't reall care, but I'd just like to know why this is considered to be a problem.


回答1:


In HTML, id attributes must be unique within the whole document. If you want several clear <div> elements, use a class instead:

.clear
{
    clear: both;
}

<div class="clear">
</div>



回答2:


Because "Duplicate ID clear".

You cannot have more than one element with a specific ID on the web site. Use class instead.

.clear {
  /*code here*/
}

<div class="clear"></div>

Classes can be repeated as many times you want to, but IDs can only be used once.




回答3:


An id uniquely identifies an element and cannot be reused in a single document.

If you want to indicate that multiple elements have something in common, use a class. You will have to modify your CSS to use a class selector.


That said, inserting extra elements that do nothing except set clear is ugly and you should probably look at an alternative technique I'd suggest overflow: hidden in most cases.




回答4:


You should be using a class attribute.

ID's attribute values are supposed to be unique within a page.

<div class="clear">
</div>

.clear
{
    clear: both;
}


来源:https://stackoverflow.com/questions/4706250/w3c-validator-complaining-about-duplicate-div

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!