Da glaubt man jahrelang ganz fest, man wüsste, wie css funktioniert und dann stimmt das alles gar nicht.
Das da wäre vermutlich eine gute Prüfungsfrage für Webdesignerazubis mit Lösungsquoute unter 50%:
In welcher Farbe wird Text 2 ausgegeben?
<html>
<head>
<styl
e type="text/css">
body {color: grey;}
#x {color: red;}
#x div {color: green;}
#y {color: blue;}
</style>
</head>
<body>
<div id="x">Text 1
<div id="y">Text 2</div>
</div>
</body>
</html>
Antwort: [ ] grau [ ] rot [ ] grün [ ] blau
Die richtige Antwort ist "grün". Entgegen meiner bisherigen Meinung, dass ein div mit der eindeutigen ID "y" bestimmt den Stil für "y" bekommt, zählt bei css2 einfach die längste Beschreibung. Text 2 steht sowohl in einem div namens "y" als auch in einem div, das in einem div namens "x" steckt. Die erste Beschreibung ist zwar eindeutiger, aber die zweite ist länger und hat auch eine ID drin und das wird dann als spezifischer gesehn als nur eine einzelne ID.