Well today I'm being a bit controversial. Let us see what the HTML5 spec says about unique IDs in a HTML file. The id attribute specifies its element's unique identifier (ID) . The value must be unique amongst all the IDs in the element's home subtree and must contain at least one character. The value must not contain any space characters . An element's unique identifier can be used for a variety of purposes, most notably as a way to link to specific parts of a document using fragment identifiers, as a way to target an element when scripting, and as a way to style a specific element from CSS. Yes its been mentioned almost everywhere on the planet that ID must be unique. Now let us look at the below code, Launch dup.css #p2 { background-color: yellow; } dup-id.html <!DOCTYPE html> <html> <head> <title>Duplicate ID Tester</title> <link rel="stylesheet" href="dup.css" />