Raul: kann ich einen bestimmten bereich noch kürzer formatieren?

Hallo

ich arbeite mit css und so sieht meine html code aus kann ich die tr blöcke auch irgendwie zusammen fassen so das ich nicht jeden tr formatieren muss?

<table>
    <tr class="txt_content_kasse_1">
     <td>xxx</td>
     <td>xxx</td>
    </tr>

<tr class="txt_content_kasse_1">
     <td>xxx</td>
     <td>xxx</td>
    </tr>

<tr class="txt_content_kasse_2">
     <td>xxx</td>
     <td>xxx</td>
    </tr>

<tr class="txt_content_kasse_2">
     <td>xxx</td>
     <td>xxx</td>
    </tr>

<tr class="txt_content_kasse_2">
     <td>xxx</td>
     <td>xxx</td>
    </tr>

<tr class="txt_content_kasse_2">
     <td>xxx</td>
     <td>xxx</td>
    </tr>
</table>

wenn ja wie kann ich einen ganzen bereich definieren?

  1. Hi,

    ich arbeite mit css und so sieht meine html code aus kann ich die tr blöcke auch irgendwie zusammen fassen so das ich nicht jeden tr formatieren muss?

    Verwende 2 tbody-Elemente.
    Oder thead und tbody.
    Oder tbody und thead.
    Je nach Semantik...

    cu,
    Andreas

    --
    MudGuard? Siehe http://www.Mud-Guard.de/
    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. Hi,

      Verwende 2 tbody-Elemente.
      Oder thead und tbody.

      Diese Zeile

      Oder tbody und thead.

      muß natürlich

      Oder tfoot und tbody

      heißen

      cu,
      Andreas

      --
      MudGuard? Siehe http://www.Mud-Guard.de/
      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. mir ist nicht klar warum ich kein class nehmen soll?

        tbody und thead ist nicht möglich weil es eine riesen tabelle ist.

        es gibt in der tabelle unterschiedliche bereiche die auch unterschiedlich formatiert sind.

        der eine tr bereich ist so formatiert der andere tr bereich wieder anders und der 3 und 4 bereich wieder anders.

      2. Toller Tipp

        Aber was soll ich damit wenn ich es kein Browser unterstützt!!!
        Ausserden kann man tfoot nur im foot Bereich einsetzen und tbody nur im Headbereich einer Tabelle.

        http://www.mediaevent.de/html40/tbody.html

        1. hi,

          Toller Tipp

          Aber was soll ich damit wenn ich es kein Browser unterstützt!!!

          das anzeige-beispiel von SELF unter http://selfhtml.teamone.de/html/tabellen/anzeige/thead_tfoot_tbody.htm sieht bei mir sogar im IE 5.0 durchaus so aus, wie gewünscht.

          was also erzählst du da?

          gruss,
          wahsaga

        2. Hallo Raul,

          Aber was soll ich damit wenn ich es kein Browser unterstützt!!!
          Ausserden kann man tfoot nur im foot Bereich einsetzen und tbody nur im Headbereich einer Tabelle.

          was meinst du damit? tfoot ist für Fuß der Tabelle, thead für den Kopf und tbody eben für den Inhalt (und nicht für den Kopfbereich).

          http://www.mediaevent.de/html40/tbody.html

          gib auf der Seite mal javascript:alert(document.lastModified) in der Adresszeile ein - du wirst sehen, dass die Seite veraltet ist - bei mir funktioniert das ganze in IE6, Mozilla1.3.1, Firebird0.7 sowie Opera6.60/7.23/7.50p3 wunderprächtig - nur ns4 (wer hätte es gedacht :-)) spielt nicht mit.

          Grüße aus Nürnberg
          Tobias

          --
          Selfcode: sh:( fo:) ch:? rl:( br:< n4:& ie:% mo:| va:) de:] zu:) fl:( ss:| ls:[ js:|
        3. Hallo,

          Aber was soll ich damit wenn ich es kein Browser unterstützt!!!

          Quatsch. Die Aussage "zurzeit von keinem Browser unterstützt"
          bezueglich THEAD/TBODY/TFOOT war schon 2002 nicht korrekt,
          als Dein fragwuerdiger Artikel [1] geschrieben wurde.

          Das, was Du willst, naemlich eine Gruppierung von einzelnen
          Tabellenzeilen mit CSS sichtbar machen, ist mit THEAD/TBODY/TFOOT
          sehr wohl moeglich. Auch in Browsern, die lange vor 2002
          erschienen...

          Was dagegen AFAIK bisher in keinem Browser umgesetzt wird,
          sind Dinge wie

          • Ausdrucken von THEAD und TBODY auf jeder Seite, wenn sich
              eine Tabelle ueber mehrere Seiten erstreckt
              (wie es die HTML 4 Specification [2] vorschlaegt)
          • Scrollen nur in TBODY, waehrend THEAD und TFOOT feststehen
              (wie es Dein Artikel [1] wuenscht)

          Ich lasse mich gerne eines besseren belehren... ;-)

          Ausserden kann man tfoot nur im foot Bereich einsetzen und tbody nur im Headbereich einer Tabelle.

          Ja. Aber Du kannst mehrere TBODY pro TABLE haben.
          Wie Andreas schon schrieb ([pref:t=75245&m=433355]).
          Steht auch in der HTML 4 Specification [2] und in SelfHTML [3]...

          HTML:

          <table>
          <thead>
            <tr><th>Bereich</th><th>Klasse</th></tr>
          </thead>
          <tbody class="bereich1">
            <tr><td>Bereich 1</td><td>bereich1</td></tr>
            <tr><td>Bereich 1 Zeile 2</td><td>bereich1</td></tr>
          </tbody>
          <tbody class="bereich2">
            <tr><td>Bereich 2</td><td>bereich2</td></tr>
            <tr><td>Bereich 2 Zeile 2</td><td>bereich2</td></tr>
          </tbody>
          </table>

          CSS:

          thead { color:#ffffff; background-color:#000066; }
          tbody.bereich1 { color:#000000; background-color:#ffff66; }
          tbody.bereich2 { color:#000000; background-color:#ccccff; }

          Erfolgreich getestet in:
          Netscape 6.1, Mozilla 1.6, Opera 7.1, MS IE 5.0 (alle Win 2000).
          Opera 5 und Netscape 4 koennen es nicht.

          Fuer Opera 5 kann man aber thead und tbody
          fuer Verschachtelungs-Selektoren benuetzen,
          dann klappt's auch hier:
          thead tr { color:#ffffff; background-color:#000066; }
          tbody.bereich1 tr { color:#000000; background-color:#ffff66; }
          tbody.bereich2 tr { color:#000000; background-color:#ccccff; }

          In Netscape 4 klappt auch das nicht. Auch nicht so:
          tbody.bereich2 td { ... }
          Also ist da wohl nichts zu machen.

          Aber mir persoenlich ist der Netscape 4 egal.
          Der kriegt bei mir gar kein CSS mehr zu sehen. ;-)

          Und bevor jemand reklamiert: Statt Klassen kann
          man natuerlich auch IDs nehmen, wenn ein Ding
          nur ein einziges Mal vorkommt.

          Gruesse,

          Thomas

          P.S. Wie man Links macht, steht in der FAQ: </faq/#Q-19>

          [1] http://www.mediaevent.de/html40/tbody.html

          [2]
          http://www.w3.org/TR/html401/struct/tables.html#h-11.2.1
          http://www.w3.org/TR/html401/struct/tables.html#h-11.2.3

          [3]
          http://selfhtml.teamone.de/html/tabellen/aufbau.htm#kopf_koerper_fuss
          Folgender Satz auf dieser Seite ist dagegen eine falsche Behauptung:
          "Wenn Sie mit den Elementen thead, tfoot und tbody arbeiten,
          müssen Sie immer alle drei Elemente verwenden [...]"
          Stimmt nicht. Davon steht nichts in der HTML Specification.
          Und mein obiges Beispiel ist valide.
          Siehe auch: </archiv/2004/2/72644/>

          1. Wenn Du von Netscpae 4 sprichst welchen meinst Du 4.0 oder 4.7?

            4.7 Browser sind noch einige im Umlauf. Und wenn es eine Kommerzielle seite ist sprich ein Shop sollte der auch 4.7 knform sein.

            Das ich Klassen nehme macht schon Sinn da die CSS in mehren Scripten verwendet wird.

            1. Hallo,

              Wenn Du von Netscpae 4 sprichst welchen meinst Du 4.0 oder 4.7?

              Ich hatte es in Netscape 4.75 (Win) getestet.
              Bezueglich Darstellung und CSS unterscheiden sich
              die 4er soviel ich weiss kaum voneinander.

              4.7 Browser sind noch einige im Umlauf. Und wenn es eine Kommerzielle seite ist sprich ein Shop sollte der auch 4.7 knform sein.

              Ich habe nur noch den Anspruch, dass in veralteten Browsern
              wie Netscape 4 oder MS IE 4 alle Inhalte angezeigt werden.
              Auf "identisches" Aussehen verzichte ich schon laengst.
              Auch auf "kommerziellen" Seiten.
              Netscape 4 ist am Aussterben.
              Ich halte es fuer Zeitverschwendung, CSS fuer den Netscape 4
              zu schreiben.

              Du hast die Wahl: Entweder schreibst Du kurzen, knappen und
              uebersichtlichen Code (hier z.B. nur eine Klasse pro TBODY)
              und kannst damit leben, dass optische Details (hier Farben) in
              diesem sehr seltenen Browser halt nicht "stimmen", oder Du
              betreibst bis in alle Ewigkeit den grossen Aufwand, auch fuer
              Netscape 4 allen optischen Schnickschnack umzusetzen, so
              gut es ueberhaupt geht, aber hast dafuer unuebersichtlichen,
              aufgeblaehten Quellcode (hier z.B. Klassen in jedem TR
              oder gar in jedem TH/TD Element). Deine Entscheidung.

              Das ich Klassen nehme macht schon Sinn da die CSS in mehren Scripten verwendet wird.

              Bei der Entscheidung Klasse oder ID kommt es nicht darauf
              an, fuer wie viele Dokumente ("Skripte") Du das Stylesheet
              verwendest, sondern darauf, wie oft Du den Bezeichner
              _pro_ Dokument verwendest. Wenn er mehr als einmal pro
              Dokument vorkommt, musst Du eine Klasse nehmen.
              Wenn er nur einmal vorkommt, kannst Du eine ID oder Klasse
              nehmen.
              http://selfhtml.teamone.de/css/formate/zentrale.htm#individualformate

              Es spricht IMHO nichts dagegen, immer und ueberall Klassen
              zu verwenden. Ausser vielleicht puristische Ideologie. ;-)

              Der einzige relevante Unterschied zwischen Klasse und ID
              (abgesehen davon, dass eine ID nur einmal pro Dokument
              vorkommen darf), der mir in den Sinn kommt, ist die Spezifitaet.
              http://www.w3.org/TR/CSS2/cascade.html#specificity
              http://www.w3.org/TR/2004/CR-CSS21-20040225/cascade.html#specificity

              Gruesse,

              Thomas

              --
              Bitte keine Mails mit Fachfragen - dafuer gibt es das Forum!
              Ich mag es, wenn URLs verlinkt sind (</faq/#Q-19>).
              Oft gestellte PHP-Fragen beantwortet die dclp-FAQ bestens: http://www.dclp-faq.de/
          2. Ist es egal in welcher Reihenfolge thead, tbody und tfoot steht?

            Weil auf der  http://selfhtml.teamone.de/html/tabellen/aufbau.htm#kopf_koerper_fuss

            ist die Reihenfolge unlogisch aufgebaut.

            erst kommt <thead> dann <tfoot>
             und dann <tbody>

            Es müßte doch normal so heissen:

            <thead>dann <tbody>
             und dann <tfoot>

            Ist es geal in welcher Reihenfolge ich das aufbaue? oder ist das ein Fehler von Stefan Münz?

            1. Hi,

              Ist es egal in welcher Reihenfolge thead, tbody und tfoot steht?

              Nein, die Reihenfolge ist thead, tfoot, tbody, tbody...

              ist die Reihenfolge unlogisch aufgebaut.

              Nein, die ist - wenn man den Zweck der Elemente berücksichtigt - alles andere als unlogisch.
              thead und tfoot sollen bei mehrseitigen Tabellen (beim Ausdruck) auf jeder Seite wiederholt werden.
              Also muß tfoot bereits beim Ende der ersten Seite der Tabelle bekannt sein, nicht erst am Ende der Tabelle.

              Ist es geal in welcher Reihenfolge ich das aufbaue? oder ist das ein Fehler von Stefan Münz?

              Nein, die Reihenfolge ist nicht egal, nein, es ist kein Fehler von Stefan.

              cu,
              Andreas

              --
              MudGuard? Siehe http://www.Mud-Guard.de/
              Fachfragen per E-Mail halte ich für unverschämt und werde entsprechende E-Mails nicht beantworten. Für Fachfragen ist das Forum da.
          3. Hallo,

            Kleiner Nachtrag bzw. Berichtigung:

            Was dagegen AFAIK bisher in keinem Browser umgesetzt wird,
            sind Dinge wie

            • Ausdrucken von THEAD und TBODY auf jeder Seite, wenn sich
                eine Tabelle ueber mehrere Seiten erstreckt

            Doch, Mozilla (hier 1.5/Linux) kann es. Hab's getestet.
            http://www.tiptom.ch/tests/mix/longtable.html

            Gemaess
            http://www.blooberry.com/indexdot/html/tagpages/tables.htm#complex
            koennen es auch schon Mozilla 1.0 und Netscape 7.0.

            Wenn jemand einen anderen Browser kennt, der es auch kann,
            bin ich froh um eine Mitteilung - hier im Forum oder, wenn der
            Thread schon im Archiv ist, per Mail.
            Danke.

            An meinem Test-Dokument sieht man uebrigens, dass Netscape 4.x
            kein HTML 4 kann - er stellt die Zeilen in der Reihenfolge dar, wie
            sie im Quelltext stehen (muessen), naemlich THEAD - TFOOT - TBODY.

            Gruesse,

            Thomas

            --
            Bitte keine Mails mit Fachfragen - dafuer gibt es das Forum!
            Ich mag es, wenn URLs verlinkt sind (</faq/#Q-19>).
            Oft gestellte PHP-Fragen beantwortet die dclp-FAQ bestens: http://www.dclp-faq.de/
  2. ich arbeite mit css und so sieht meine html code aus kann ich die tr blöcke auch irgendwie zusammen fassen so das ich nicht jeden tr formatieren muss?

    <table>
        <tr class="txt_content_kasse_1">
         <td>xxx</td>
         <td>xxx</td>
        </tr>

    <tr class="txt_content_kasse_1">
         <td>xxx</td>
         <td>xxx</td>
        </tr>

    Dein Konzept ist nicht so ganz klar. Wenn alle Tabellenzeilen eine Eigenschaft bekommen, dann muss es heißen:

    tr
    {
    /* CSS Eigenschaften */

    }

    class ist lediglich für Bereiche, deren Formatierung nur selten vorkommt oder für die kein passendes HTML Attribut existiert. Ansonsten wirst du in der Regel kein class brauchen.

    Struppi.

    1. hi,

      Wenn alle Tabellenzeilen eine Eigenschaft bekommen

      dir ist schon aufgefallen, dass er für die obere hälfte seiner TRs eine klasse mit _1 am ende, für die unteren jedoch mit _2 am ende benutzt? :-)

      gruss,
      wahsaga