• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

unterschied class und id

Status
Für weitere Antworten geschlossen.

koschibär

Neues Mitglied
Guten Tag zusammen,

ich arbeite mich gerade in css ein und habe da mal eine newbie-frage:

worin besteht der Unterschied zwischen class und id? Von der Anwendung habe ich beides probiert, konnte aber keinen Unterschied erkennen?

Vielen Dank für Eure Hilfe im voraus
Andreas
 
Werbung:
Kurz und knapp:

ID sind nur für ein Objekt gedacht. Klassen dafür, wenn du zu Beispiel gewisse Tabellenzellen blau haben willst. D.h. für mehrere Objekte.
 
Werbung:
IDs: Einteilen.
Classes: Verschiedenes direkt formatieren.

Also: IDs wurden dazu geschaffen, die Seite sozusagen in bestimmte Bereiche einzuteilen. Dies ist auch der Grund, warum man IDs nicht mehrfach vergeben darf. Ein einfaches Beispiel:
Meistens hat man eine unterschiedliche Formatierung für die Links und die Absätze in Navigation und Text, die Seite lässt sich also in einen Navigations- und einen Text-Bereich einteilen, wofür man IDs verwenden würde. Also:
Code:
<p id="navigation">


Wenn man hingegen z.B. einige Zellen einer Tabelle grün einfärben will (aus welchen Gründen auch immer), macht man das mit classes:
Code:
<td class="markiert">blabla</td>
 
Werbung:
Prophet schrieb:
class = CSS

ID = JavaScript

so würde ich das beurteilen
Nicht korrekt. Man kann Eigenschaften für eine ID in einer CSS-Datei festlegen und diese in der zugehörigen html-Datei zur Anwendung bringen.
No JavaScript.
 
Werbung:
welchen sinn soll es denn habne das man statt klassen id verwendet um sein dokument zu formatieren? es gibt doch extra für css klassen! welchen vorteil sollte es denn dann haben eine id zu verwenden? ich sehe da keinen, ausser das man die formatierung nur einmalig verwenden darf... (eher ein nachteil)
 
Prophet schrieb:
welchen sinn soll es denn habne das man statt klassen id verwendet um sein dokument zu formatieren? es gibt doch extra für css klassen! welchen vorteil sollte es denn dann haben eine id zu verwenden? ich sehe da keinen, ausser das man die formatierung nur einmalig verwenden darf... (eher ein nachteil)
Man erstellt einen sinnvoll strukturierten Quelltext, der durch IDs eingeteilt und durch classes stellenweise formatiert wird. Man kann erkennen, wo ein neuer Seitenbereich beginnt, wenn man nur oberflächlichst in den Quelltext guckt.
 
IMO das beste Argument für die Verwendung von IDs: jedes Element kann ohne zusätzliche Auszeichnung als Sprungmarke dienen.
 
Werbung:
sprungmarken erstellt man durch anker nicht durch ids.

solch eine struktur lässt sich genauzso einfach mit klassen erstellen.
 
Hallo zusammen,

erstmal vielen Dank für die zahlreichen Antworten. Ich konnte sogar mit den meisten etwas anfangen. Am einfachsten für mich zu verstehen war die Antwort von IngoS.

Also: IDs wurden dazu geschaffen, die Seite sozusagen in bestimmte Bereiche einzuteilen. Dies ist auch der Grund, warum man IDs nicht mehrfach vergeben darf. Ein einfaches Beispiel:
Meistens hat man eine unterschiedliche Formatierung für die Links und die Absätze in Navigation und Text, die Seite lässt sich also in einen Navigations- und einen Text-Bereich einteilen, wofür man IDs verwenden würde


Darunter kann ich mir jetzt am Anfang am ehesten etwas vorstellen, was bei meiner manchmal sehr komplizierten Denkweise schon was heißen will... :D

Grüße
Andreas
 
Werbung:
Prophet schrieb:
welchen sinn soll es denn habne das man statt klassen id verwendet um sein dokument zu formatieren? es gibt doch extra für css klassen! welchen vorteil sollte es denn dann haben eine id zu verwenden? ich sehe da keinen, ausser das man die formatierung nur einmalig verwenden darf... (eher ein nachteil)

Genau dies ist mein Problem bisher, dass ich den Unterschied nicht richtig greifen konnte, weil er sich in der Darstellung nicht erkennen ließ.

Wenn ich das richtig verstanden habe, könnte ich alle IDs in Klassen umwandeln ohne direkten Einfluß - mit dem Nachteil, dass dann die Struktur des Quelltextes leiden würde.
 
warum sollte die sturktur des quelltetxtes leiden??

strukturieren tue ich nur mit tabs zeilenumbrücken und kommentaren.
 
Wir reden von semantischem Web. Leis dich mal in XHTML ein - hier sind doch viele tolle Links zu Erklärungen, was XHTML eigentlich ist und wieso man von HTML 4.01 wieder zum Ursprung zurückkehrte. Man trennt Struktur vom Aussehen. Gut, du bist in diesme Utnerforum vielleicht nur wegen des CSS, aber XHTML sollte man meiner Meinung nach zumindest verstanden haben. Ich finde es sinn- und reizvoll, XHTML Standarts zu verwenden, weil man die Website sturkturiert.
Es interessiert niemanden ob du Tabs und Zeilen umbrüche benutzt (... ;)), aber wenn deine Website aus aussagelosen <font>s besteht, ergibt es als solches einfach keinen Sinn, wenn man es liest.
Bestes Beispiel:
Für Überschriften nutz(t)en viele <font> mit einer Großen Angabe beim size-Attribut. Dann noch zentrieren - fertig. Ist groß, auffällig und eidneutig eine Überschrift.
Im Code steht davon aber nix. Dafür gibts ja die H-Tags (h1, h2).

Ähnlich isses mit den IDs.
Du hast einen Container mit der ID "header", einen mit "content" und einen mit "footer". In den header kommt dann eine Liste mit der ID "menu" o.ä. und so weiter. Dadurch teilst du deinen Code in Sinnabschnitte.
 
Werbung:
ok es stimmt schon was du sagst. aber warum deswegen extra id nutzten anstatt class zu benutzten. die restliche strukturierung und verdeutlichung durch das nutzten der entsprechenden tag ist klar.
ein grungwissen in xhtml habe ich auch so ist es nicht ich beende zb alle tags.
 
:roll: Hättest du das nicht getan, hättest du auch kein gutes HTML geschrieben, auch ohne "X" davor. Klingt immerhin so als würdest du

nicht für Zeilenumbrüche nehmen *grusel*

Nun ID ist eben restriktiv. Kann nur einmal vorkommen, dient wie gesagt als Identifizierung (Sprungmarke, Ziel für <label>, ...). Das name-Attribut gibbet ja in XHTML garnicht mehr, HTML 4.01 hats glaub ich noch drin. ID erfüllt auch einen gewissen Zweck. Und wenn etwas schon so wichtig sit, eine ID zu bekommen, warum nicht auch in CSS direkt ansteuern - mit "#" als Präfix eben. Ist nur Struktur. Man kommt auch ohne ID aus.
Wäre aber schade.
Und nicht so schön :)
 
Status
Für weitere Antworten geschlossen.
Zurück
Oben