• Willkommen im Forum „Tintenzirkel - das Fantasyautor:innenforum“.
 

Wozu id und wozu class?

Begonnen von Feuertraum, 03. Februar 2009, 21:39:02

« vorheriges - nächstes »

0 Mitglieder und 1 Gast betrachten dieses Thema.

Feuertraum

Ich brauche einmal wieder enorm großes Fachwissen im Bereich CSS.
In diesem Fall verstehe ich den Unterschied zwischen "id" und "class" nicht. So ich die Erklärungen richtig verstanden habe, kann man eine "id" nur einmal benutzen, während man eine "class" auch mehrmals verwenden darf. Aber da sie beide im Prinzip auf selbe hinauslaufen (Bereiche über CSS formatieren), frage ich mich, warum es dann beide gibt? Reicht denn nicht ein Befehl (zum Beispiel "class") aus?  ???

LG und dankeschön im voraus.

Feuertraum
Was hat eigentlich He-Man studiert, dass er einen Master of the universe hat?

Romy

#1
Interessant das Sie diese Frage stellen, weil ich ja über genau so was (unter anderem) übermorgen meine fiesige Prüfung schreibe.  ;)

Also, wenn ich das richtig sehe, ist id ein HTML Befehl, der für Verweisungen innerhalb eines Dokumentes benutzt wird.

Class ist aber ein CSS Befehl, der Bestandteil zahlreicher CSS Befehle ist.

Oder werfe ich da jetzt einiges durcheinander, oder habe die Frage nicht richtig verstanden?!  ::)

Judith

Der Unterschied ist, wie schon angesprochen, dass eine "id" dokumentweit einzigartige Elemente bezeichnet, z.B. wenn man die Navigationsleiste (die dann in jeder Seite nur einmal vorkommt) formatieren will - da hätte man etwa den Bereich definiert als <div id="navigation"> .... >/div>.
Eine "class" kann hingegen öfter vorkommen, etwa, wenn man (*beliebiges Beispiel such*) immer wieder einzelne Worte oder Textstellen rot hinterlegt haben will.

Ich bin selbst gerade erst dabei, ich in css einzulesen, daher bin ich da selbst noch nicht so bewandert. Was dagegen spricht, auch für einzigartige Elemente wie etwa die Navigation einfach eine Klassendefinition zu verwenden, weiß ich auch nicht so genau. Allerdings kann man einem Element auch eine ID und eine Klasse gleichzeitig zuweisen - und ich nehme an, dass sich dadurch dann zusätzliche Möglichkeiten ergeben.

Aidan

#3
Und hallo!

Ich selber habe zugegeben kaum Ahnung und habe einfach mal meinen Mann gefragt. Hier seine Antwort, aber so ganz sicher wann man was benutzt, ist er offensichtlich auch nicht.

Zitat...Und ob ich jetzt die 100%-Antwort für die Frage schon weiß, da bin ich mir auch
nicht so ganz sicher. Hab mir selbst manchmal auch schon die Frage gestellt,
wann man ID nimmt und wann CLASS. Oft ist es wohl wirklich egal.

Klassifizierung ist halt sowas wie "Mensch". Man gibt halt die Eigenschaften
von einem Menschen an: zwei Beine, zwei Arme, muss atmen....

ID wäre halt sowas wie ein Name: "Claudia". -> Ist weiblich, hat grüne Augen,
rötlich-dunkelblonde Haare...

Genauso geht man halt in HTML auch mit diesen CSS-Tags um...

Und es ist halt egal, ob man dann sagt, "Claudia" soll zwei Beine haben oder
"Mensch" soll zwei Beine haben. Wenn der einzige Mensch, der in dem Kontext
vorkommt "Claudia" ist, dann ists also wurscht, wie man's macht.

Ansonsten kann man jedem nur raten in das HTML-Kompendium von Stefan Münz
reinzuschauen. Der hat eine recht übersichtliche Erklärung aller HTML- und CSS-Tags
mit Beispielen. Für Individualformate also:

http://de.selfhtml.org/css/formate/zentrale.htm#individualformate

Ich selber würde es so verstehen, dass class halt bestimmte Dinge definiert: Mensch, bestimmte Eigenschaften, die für alle ID's der Klasse Mensch gelten. Und dann gibt es die speziellen Menschen, denen man dann halt nicht mehr alle Eigenschaften der Class Mensch zuteilen muss, weil die über die Class definiert sind, sondern nur noch spezielle, die diese ID zu etwas eindeutigem, individuellen machen. Wie man das anwendet? *Schulter zuck*

Vielleicht hilft es ja trotzdem weiter...

Liebe Grüße

Winterkind
"Wenn du fliegen willst reicht es nicht, die Flügel auszubreiten. Du musst auch die Ketten lösen, die dich am Boden halten!"

,,NEVER loose your song! Play it. Sing it. But never stop it, because someone else is listening."

Feuertraum

Hallo!

Erst einmal vielen lieben Dank für die Antworten. Wenn ich das ganze richtig verstehe, wird eine id eher in dem Fall genommen, wenn man eine div - also einen Abschnitt - formatieren will, während class für allgemeine Textformatierungen gängig ist.

@ Winterkind: Auch wenn sehr häufig auf das selfhtml.org hingewiesen wird: Zu meiner Schande (?) muss ich gestehen, dass ich mit den Erklärungen auf dieser Seite nicht wirklich klar komme :( Aber ich habe ein Buch gefunden, das XHTML und CSS-Befehle so erklärt, dass ich diese auch verstehe und nachvollziehen kann.
Trotzdem auch Ihnen ein dickes Dankeschön für den Link :)

LG

Feuertraum
Was hat eigentlich He-Man studiert, dass er einen Master of the universe hat?

Joscha

Der Unterschied zwischen ids und classes ist ganz einfach. Eine id ist eine eindeutige Auszeichnung. Sie darf in einem HTML-Dokument nur einmal vorkommen. Ich weiß nicht, ob du CSS-basierte Layouts kennst, damit könnte man das am einfachsten erklären. (Ich hoffe, ich verfalle jetzt nicht in Fachchinesisch.) Du hast zum Beispiel einen Hauptteil und eine Navigationsbar, für die jeweils spezielle Formatierungen gelten, üblicherweise jeweils in ein div eingepackt. Diese beiden Seitenbereiche gibt es nur einmal, mehrere Hauptteile zu erstellen wäre weder sinnvoll noch logisch. Also verwendest du eine id.

classes bauen auf einem anderen Prinzip auf. Nehmen wir an, du willst, dass Auszüge aus einem Buch immer kursiv geschrieben und zentriert (oder auch beliebig anders formatiert) werden. Auf einer Seite können beliebig viele Auszüge stehen. Wichtig hierbei ist, dass man eine universelle Vorlage für jeglichen Auszug hat. Deshalb verwendet man Klassen.

ids sind also dazu da, etwas eindeutig und für das Dokument einmalig auszuzeichnen, classes sind einfach nur Formatvorlagen für bestimmte Klassen von Bereichen, zum Beispiel dem oben genannten Auszug.

korvin

Ich schliesse mich Joscha da an-
Generell ist die ID ein eindeutig definiertes Element.
Es erhält im Normalfall auch eine Position an der es immer eingeblendet wird.

Classes hingegen sollten nur das grundsätzlich Aussehen eines elementes Darlegen (Also Rahmen, Hintergrund, Schrift etc.)

OK, lasse ich bei einer ID die Position weg, funktioniert sie wie eine Klasse und kann auch mehrmalig im entsprechenden Dokument verwendet werden, aber das ist eher Big als Feature.

Leicht zu merken ist der Unterschied, wenn man weiss, das eine ID unter anderem auch ein eindeutig definierter Bezeichner in einer Datenbank ist, ansoinsten hilft auch die Brücke darüber, das der Personalausweis, der uns ja eindeutig bezeichnet, im englischsprachigen Ausland auch als ID Card gehandelt wird.

Maja

Ich arbeite eigentlich immer nur mit Classes und nicht mit IDs, selbst wenn eine Class auf jeder Seite nur einmal vorkommt - kann ja immer noch sein, daß ich die später nochmal für etwas gebrauchen kann, sage ich mir da, und von der Umsetzung bei der Darstellung ist beides gleich. So muß ich nicht beim Coden dauernd auseinanderhalten, was nun Klasse war und mehrmals vorkommen darf und was ID.

Für die Skin dieses Forums hätte ich mir dagegen gewünscht, die hätten die Klassen vielleicht nicht ganz so häufig anderswo recycelt - das führt dazu, daß ich die Beiträge untereinander mit dunklen Rahmenlininen abteilen will, kein Problem, ist eine Tabelle, sag ich einfach der passenden Klasse "border-bottom 1px solid #060c60" - um dann zu sehen, daß plötzlich die ganze Übersichtsseite Rahmenlinien hat, wo keine Hingehören...
*seufz* Als ob ein paar Klassen mehr etwas gekostet hätten...
Niemand hantiert gern ungesichert mit kritischen Massen.
Robert Gernhardt

Feuertraum

Ups...
Sorry, aber ich habe erst jetzt gesehen, dass es neue Antworten auf meine Frage gibt.
Okay, soweit ist mir das mit der id und class klar, auch wenn ich immer noch meine, dass beides im Prinzip für das Formatieren gedacht ist.

Für mich ist es im Prinzip wie ein liniertes und ein kariertes Blatt - auf beiden kann man schreiben, aber ich komme mit dem linierten einfach besser zurecht...;)

Danke jedenfalls für die Erklärungen: ich sehe nun klarer  :D :jau:

LG
Feuertraum
Was hat eigentlich He-Man studiert, dass er einen Master of the universe hat?

Kaeptn

Ein wichtiger Unterschied ist noch: Ein Element hat EINE ID kann aber MEHREREN KLASSEN angehören.

Du kannst also schreiben
<div id='0815' class='blauer_hintergrund fette_schrift'...>
wobei blauer_hintergrund und fette_schrift zwei unterschiedliche Klassen sind. Das vergessen viele und definieren die fette Schrift in blauer_hintergrund, grüner_hintergrund usw...

IDs benutze ich NUR für JavaScript (document.getElementById)...

Maja

Hier wird alles nochmal sehr schön erklärt:
http://www.css4you.de/wscss/css03.html

Und so gern ich auch mit meinem CSS-Wissen strunze und meinen Forenmitgliedern die Chance gebe, das auch zu tun, möchte ich Sie doch bitten, bei so einer einfachen Begriffsklärungs-Faktenfrage vielleicht erst eine Recherche anzustellen, weil genau diese Fragen schon an anderer Stelle längst und gut beantwortet sind. Und den Link für CSS4You haben wir hier schon ein paarmal rausgehauen...
Niemand hantiert gern ungesichert mit kritischen Massen.
Robert Gernhardt

Moni

Erklärt hatte ich das bereits in meiner Kurzeinführung: http://forum.tintenzirkel.de/index.php?topic=969.0

Es gab zwar einige Änderungen im CSS, aber die grundlegenden Dinge sind gleich geblieben (wie z.B. id und class)....
Deutsch ist die Sprache von Goethe, von Schiller...
und im weitesten Sinne auch von Dieter Bohlen[/i]
Stefan Quoos, WDR2-Moderator

»Gegenüber der Fähigkeit, die Arbeit eines einzigen Tages sinnvoll zu ordnen,
ist alles andere im Leben ein Kinderspiel.«[/i]
Johann Wol

Nessa

ID ist nicht ausschließlich für CSS relevant.
So wird ID auch in Formularen verwendet, wo die Eindeutigkeit bei Zuweisungen und Verarbeitung unabdingbar ist.
Auch wenn man mit JavaScript auf Elemente zugreifen möchte, wird oft ID mit verwendet.

Nessa