Pete: id vs. class

Hallo,

gibt es eigentlich einen Unterschied/Vorteil/Nachteil ob ich

<body id="head">

oder

<body class="head">

schreibe.

Pete

  1. Hi!

    Hallo,

    gibt es eigentlich einen Unterschied/Vorteil/Nachteil ob ich
    <body id="head">

    oder

    <body class="head">

    schreibe.

    Besser ist id="head", da id sich auf einen Tag bezieht, der nur einmal  in einer Seite vorkommt, während class öfters im Quellcode einer Seite vorkommen darf.

    Grüße,
    Fabian St.

    --
    Endlich online: http://fabis-site.net
    --> XHTML, CSS, PHP-Formmailer, Linux
    Selfcode: ie:% fl:|  br:^ va:) ls:& fo:) rl:( n4:° ss:| de:> js:| ch:| mo:) zu:)
    1. Besser ist id="head", da id sich auf einen Tag bezieht, der nur einmal  in einer Seite vorkommt, während class öfters im Quellcode einer Seite vorkommen darf.

      Mir geht es in erster Linie um das Zuordnen von styles aus css-dateien. Und es könnten doch elemente mit unterscheidlichen IDs die gleichen Styles bekommen, oder? Also so etwas:

      <p id="1" class="def">
      <p id="2" class="def">
      <p id="3" class="def">

      etc.

      Dennoch benutzen die meisten id. Das verstehe ich halt nicht.

      Pete

      1. Hi!

        Mir geht es in erster Linie um das Zuordnen von styles aus css-dateien. Und es könnten doch elemente mit unterscheidlichen IDs die gleichen Styles bekommen, oder? Also so etwas:

        <p id="1" class="def">
        <p id="2" class="def">
        <p id="3" class="def">

        Klar, so würde es gehen, weil jede id nur __einmal__ vorkommt, bloß welchen Sinn soll ein solche Konstruktion haben, wenn du jedes Objekt nicht einzeln ansprechen willst (z.B. mit Javascript)?!

        Grüße,
        Fabian St.

        --
        Endlich online: http://fabis-site.net
        --> XHTML, CSS, PHP-Formmailer, Linux
        Selfcode: ie:% fl:|  br:^ va:) ls:& fo:) rl:( n4:° ss:| de:> js:| ch:| mo:) zu:)
      2. Hi,

        <p id="1" class="def">

        eine ID dient der IDentifikation eines Elementes, eine Klasse der Klassifizierung. IDs sind, wie gesagt, unique; und sie sollten *dringend* sprechende Namen haben. Wenn Du schon mit Nummerierungen beginnst, ist die ID quasi zwangsläufig der falsche Weg. Wenn Du eine ID (oder Klasse) zudem mit einer Ziffer beginnst, ist sie auch noch technisch illegal.

        Dennoch benutzen die meisten id.

        Für identifikationswürdige Elemente. Das hat übrigens _nichts_ mit CSS zu tun - genau wie die Vergabe einer Klasse - sondern wird dort allenfalls benutzt.

        Cheatah

        --
        X-Self-Code: sh:( fo:} ch:~ rl:° br:> n4:& ie:% mo:) va:) de:] zu:) fl:{ ss:) ls:~ js:|
        X-Self-Code-Url: http://emmanuel.dammerer.at/selfcode.html
        X-Will-Answer-Email: No
        X-Please-Search-Archive-First: Absolutely Yes
      3. Hi

        <p id="1" class="def">
        <p id="2" class="def">
        <p id="3" class="def">

        CSS-Beispiel (was passiert?):
        .def {color:green}
        #3 {color:red}

        Dennoch benutzen die meisten id. Das verstehe ich halt nicht.

        • "Die meisten" verstehen es auch nicht.
        • IDs können auch als Anker benutzt werden
        • IDs sind "stärker" als Klassen (siehe oben)

        Gruss
        chlori

      4. Hi,

        Dennoch benutzen die meisten id. Das verstehe ich halt nicht.

        das kann ich nicht bestätigen - im Gegenteil sehe ich viel häufiger Klassen auch für einmalige Zuweisungen - wohl aus der Vorsicht heraus, nicht aus Versehen eine ID doppelt zu vergeben, was aber wenig Sinn macht.

        Sieh' es mal pragmatisch: wenn Du Styles auf einer Seite mehrfach verwenden willst, nimmst Du eine Klasse, und wenn Du nur ein bestimmtes Element formatieren willst, eine ID.
        Hast Du z.B. eine Navigation, dann wäre etwas wie <ul id="navigation"> angebracht. Hast Du hingegen zwei Navigationen, die gleich formatiert werden sollen, sparst Du mit einer Klasse etwas css-Code ein. Willst Du bei zwei Navigationen z.B. über Javascript getrennt auf diese zugreifen, wären zwei IDs wieder sinnvoller.

        Ein Unterschied wurde hier übrigens noch nicht genannt: IDs sind spezifischer, d.h. wenn für eine Klasse und eine ID konkurierende Angaben gemacht werden, gelten (bei sonst gleichen Selektoren) diejenigen der ID.

        freundliche Grüße
        Ingo