AW: HTML5 & Css
(es darf nicht so gleich heissen, aber ich kann in einer html seite 6-7 id haben, einfach mit anderen namen: name22, name27, name35 usw?)
So gesehen: ja. Wenn du zu einem Namensstamm einfach noch eine (andere) Nummer/Zahl hinzufügst, hast du eine andere ID.
ID steht ja für eine "Identität", also eine eindeutige, unverwechselbare Benennung.
IDs spielen übrigens nicht nur bei CSS eine Rolle, sondern (später) auch bei Javascript.
Im Gegensatz zur class (Klasse) kannst du damit im Stylesheet/CSS (und ggf. auch per Javascript) ein ganz bestimmtes Element gezielt ansprechen.
Die class hat ja eher den Sinn, alle ähnlichen Elemente, von denen gleiches Aussehen und Verhalten erwartet wird, zusammen zu fassen, zu einer Klasse eben.
Dafür muss dann auch nur einmal eine Deklaration im CSS hinterlegt werden.
und darf ich name22 zb beim class verwenden, obwohl es schon im id verwendet wird, oder macht es überhaupt keinen sinn ?
Ja, du darfst
Sowohl im Markup (also im HTML-Code), also auch im CSS werden class und id ja getrennt aufgeführt:
HTML:
<div id="name1" class="name1"> </div>
Du siehst, du deklarierst die Bezeichnung je gesondert.
Auch im CSS wird das voneinander getrennt, so dass das Stylesheet immer genau "weiß", ob du nun eine ID namens "name1" oder eine class "name1" ansprichst:
Code:
.name1 {background-color: yellow; border: 3px;} /* Das wäre eine class */
#name1 {background-color: green;} /* das wäre eine id */
Ob das aber sinnvoll ist, ist die andere Frage, denn du musst bedenken, dass du immer die Übersicht behalten solltest, besonders, wenn du später die Seite erweitern oder überarbeiten musst.
Darum nutze möglichst eindeutige, funktionelle Namen.
Nenne z.B. die Klasse der divs, die die Navigation bilden sollen class="navigation", oder wenn du eine Schaltfläche erstellst, dann gib ihr als id="anistart", wenn damit eine Animation gestartet wird.
Du musst auch nicht jedem Element sowohl eine class, als auch eine ID geben; vergib IDs am besten nur da, wo du sie wirklich brauchst.
Im gezeigten Beispiel würdest du übrigens eine class definieren, die immer einen gelben Hintergrund hat und immer einen 3px breiten Rand (stell dir einfach noch eine ganze Liste mit weiteren Eigenschaften vor...). Nur bei einem Element willst du, um es stärker hervorzuheben, eine andere Farbe haben - der Rest soll so bleiben, du willst nur die Hintergrundfarbe ändern.
Um nicht alles neu zu schreiben, um unnötige Redundanzen zu vermeiden, gibst du einfach dem Element aus der class eine ID und nennst nur die Eigenschaft, die geändert werden soll.
Lieber Gruß