bleibert: class - Überschneidungen

Hallo!

Wenn ich eine Tabelle habe, in der beispielsweise manche Zellen roten Hintergrund haben, und manche Zellen grüne Schrift beinhalten, kann ich das ja einfach über "class" Attribute im TD-Tag regeln. Was ist jetzt aber, wenn Zellen beide Eigenschaften haben sollen? Kann ich zweimal "class" im gleichen Tag verwenden? Ein Ausweg wäre zB mit "id" zu arbeiten, aber was ist dann bei drei oder mehr Eigenschaften? Wie handhabt man sowas am geschicktesten?

Gruß und guten Rutsch,
Dennis

  1. Hi,

    Wenn ich eine Tabelle habe, in der beispielsweise manche Zellen roten Hintergrund haben, und manche Zellen grüne Schrift beinhalten,

    Beinhalten, Armhalten, Handhalten, Fußhalten

    kann ich das ja einfach über "class" Attribute im TD-Tag regeln. Was ist jetzt aber, wenn Zellen beide Eigenschaften haben sollen? Kann ich zweimal "class" im gleichen Tag verwenden?

    Jedes Attribut darf nur einmal vorkommen. Aber das class-Attribut enthält nicht einen Klassennamen, sondern eine Liste von Klassennamen.

    cu,
    Andreas

    --
    Warum nennt sich Andreas hier MudGuard?
    Fachfragen per E-Mail halte ich für unverschämt und werde entsprechende E-Mails nicht beantworten. Für Fachfragen ist das Forum da.
  2. Hallo bleibert,

    Man kann einem Element 2 Klassen zuordnen:

    CSS:
    .foo {
     background-color: #f00;
    }
    .bar {
     color: #00f;
    }

    HTML:
    <a href="foo" class="foo bar">xyz</a>

    Der Text xyz wird dann blau mit rotem Hintergrund.

    Gruß
    Alexander Brock

    --
    SelfCode: ie:{ fl:( br:> va:) ls:[ fo:) rl:( n4:? ss:| de:> js:( ch:| sh:( mo:} zu:}
    http://againsttcpa.com
    1. Hi Alexander,

      Man kann einem Element 2 Klassen zuordnen:

      Weißt Du zufällig eine Seite mit einer Übersicht, welche Browser das unterstützen?

      Viele Grüße
      Mathias Bigge

      1. Hi,

        Man kann einem Element 2 Klassen zuordnen:
        Weißt Du zufällig eine Seite mit einer Übersicht, welche Browser das unterstützen?

        Soweit ich weiß: alle außer Netscape Uralt 4.x
        Selbst der IE kann das schon ;-)

        cu,
        Andreas

        --
        Warum nennt sich Andreas hier MudGuard?
        Fachfragen per E-Mail halte ich für unverschämt und werde entsprechende E-Mails nicht beantworten. Für Fachfragen ist das Forum da.
    2. Hallo Alexander

      Man kann einem Element 2 Klassen zuordnen:

      ...

      Der Text xyz wird dann blau mit rotem Hintergrund.

      Ich persönlich halte von dieser Möglichkeit nicht so sehr viel, weil sie zu
      sehr dazu verführt das Aussehen im HTML auszuzeichnen, auch wenn die
      eigentlichen Eigenschaften dann im CSS stehen.
      Der Extremfall wäre dann, im CSS jeweils nur Einzeleigenschaften zu
      definieren, und die Klassen wie Quasi-Attribute zu verwenden.

      .blaubg {...
      .gelbbg {...
      .schriftrot {...
      .schriftweiss {...
      usw.

      Auf Wiederlesen
      Detlef

      --
      - Wissen ist gut
      - Können ist besser
      - aber das Beste und Interessanteste ist der Weg dahin!
      1. Hi,

        Man kann einem Element 2 Klassen zuordnen:
        Ich persönlich halte von dieser Möglichkeit nicht so sehr viel, weil sie zu
        sehr dazu verführt das Aussehen im HTML auszuzeichnen, auch wenn die
        eigentlichen Eigenschaften dann im CSS stehen.

        Das kommt natürlich immer darauf an, wie man Klassen verwendet.
        Wer schon die Klassennamen auf die (derzeitige) Formatierung reduziert (class="blau", class="bold"), wird auch Klassen derartig kombinieren.

        Was aber spricht z.B. gegen Klassen-Kombinationen, die nicht auf die Formatierung reduziert sind? Wie z.B. class="Navigation AktuelleSeite"?

        cu,
        Andreas

        --
        Warum nennt sich Andreas hier MudGuard?
        Fachfragen per E-Mail halte ich für unverschämt und werde entsprechende E-Mails nicht beantworten. Für Fachfragen ist das Forum da.
        1. Hallo Andreas

          Was aber spricht z.B. gegen Klassen-Kombinationen, die nicht auf die Formatierung reduziert sind? Wie z.B. class="Navigation AktuelleSeite"?

          Vielleicht habe ich den echten Nutzen dieser Möglichkeit noch nicht wirklich
          verstanden.

          Ich lege damit im HTML fest, dass dieses Element die Eigenschaften der
          Klasse "Navigation" und die Eigenschaften der Klasse "AktuelleSeite" haben
          soll. Damit spare ich mir zwar eine zusätzliche Klasse oder eine Definition
          über Nachfahrenselektor, nehme mir aber wieder Flexibilität im CSS.

          Ich würde, wenn die Möglichkeit über Nachfahrenselektoren nicht gegeben ist,
          eher eine Klasse "NavigationAktuelleSeite" einführen. Wenn diese genau die
          Eigenschaften von "Navigation" und von "AktuelleSeite" haben soll steht im
          CSS dann eben ".Navigation, .NavigationAktuelleSeite {..." und
          ".AktuelleSeite, .NavigationAktuelleSeite {...". Ich lasse mir aber die
          Möglichkeit, diese bei Bedarf auch ganz anders zu formatieren.

          Auf Wiederlesen
          Detlef

          --
          - Wissen ist gut
          - Können ist besser
          - aber das Beste und Interessanteste ist der Weg dahin!
          1. Hi,

            Was aber spricht z.B. gegen Klassen-Kombinationen, die nicht auf die Formatierung reduziert sind? Wie z.B. class="Navigation AktuelleSeite"?

            Vielleicht habe ich den echten Nutzen dieser Möglichkeit noch nicht wirklich
            verstanden.

            Klassifizierung.

            Alles, was auf der Seite der Navigation dient, bekommt die Klasse Navigation zugewiesen.
            Alles, was auf der Seite mit der aktuellen Seite zu tun hat, bekommt die Klasse AktuelleSeite.

            Wenn jetzt ein Element in beide (oder auch noch mehr) Kategorien fällt, bekommt es eben beide (oder auch noch mehr) Klassen.

            Ich würde, wenn die Möglichkeit über Nachfahrenselektoren nicht gegeben ist,
            eher eine Klasse "NavigationAktuelleSeite" einführen.

            Ich nicht.

            Wenn diese genau die
            Eigenschaften von "Navigation" und von "AktuelleSeite" haben soll steht im
            CSS dann eben ".Navigation, .NavigationAktuelleSeite {..." und
            ".AktuelleSeite, .NavigationAktuelleSeite {...". Ich lasse mir aber die
            Möglichkeit, diese bei Bedarf auch ganz anders zu formatieren.

            Es gibt auch die Möglichkeit,

            .Navigation.AktuelleSeite

            als Selektor zu benutzen, wenn die Elemente, die beide Klassen besitzen, nochmal anders formatiert werden sollen, als es durch die einzelnen Klassen schon vorgegeben ist. Eine zusätzliche Klasse ist also nicht nötig - ändert aber die Klassifizierung (bei Deiner Variante ist nicht mehr alles, was Navigation ist, in der Klasse Navigation zu finden).

            cu,
            Andreas

            --
            Warum nennt sich Andreas hier MudGuard?
            Fachfragen per E-Mail halte ich für unverschämt und werde entsprechende E-Mails nicht beantworten. Für Fachfragen ist das Forum da.
            1. Danke Andreas!

              Es gibt auch die Möglichkeit,

              .Navigation.AktuelleSeite

              als Selektor zu benutzen, wenn die Elemente, die beide Klassen besitzen, nochmal anders formatiert werden sollen, als es durch die einzelnen Klassen schon vorgegeben ist. Eine zusätzliche Klasse ist also nicht nötig - ändert aber die Klassifizierung (bei Deiner Variante ist nicht mehr alles, was Navigation ist, in der Klasse Navigation zu finden).

              Soweit habe ich bisher noch nicht gedacht.

              Auf Wiederlesen
              Detlef

              --
              - Wissen ist gut
              - Können ist besser
              - aber das Beste und Interessanteste ist der Weg dahin!
  3. Danke an Euch beide!!