Hajo Kliemeck: dd/dt und backgrounds

Morgen,

ich habe folgende Situation:

ich definiere abwechselnd den background von dd/dt Anordnungen damit es schöner aussehen soll. Das sieht so aus:

dl {
 line-height: 2em;
 margin: 0em 0em;
 width: 50%;
}
dl .altrow {
 background: #f4f4f4;
}
dt {
 font-weight: bold;
 padding-left: 4px;
 vertical-align: top;
}
dd {
 margin-left: 10em;
 margin-top: -2em;
 vertical-align: top;
}

<dt class="altrow">Überschrift</dt>
<dd class="altrow">Test</dd>
<dt>Benutzername</dt>
<dd><a href="foobar" >Anonymous</a>&nbsp;</dd>
<dt class="altrow">Text</dt>
<dd class="altrow">text<br>text<br>text<br>text<br>text</dd>

jetzt habe ich das Problem, wenn ich die dt/dd's mit einem background versehen und das <dd> Tag mehr als eine Zeile groß ist, dann wird zwar im <dd> Feld der Background weitergeführt, aber im <dt> nicht.

Das sieht dann etwa so aus:

http://www.kliemeck.de/html.jpg

jemand eine idee?

Danke Hajo

  1. Hello out there!

    <dd> Tag

    Elemente, Tags und Attribute [Meiert]
    Deppenleerzeichen [Wikipedia]

    http://www.kliemeck.de/html.jpg

    Verweise einbinden.

    jemand eine idee?

    Zeichne das als Tabelle aus, dann kannst du jeder zweiten 'tr' den Hintergrund geben.

    Ein gravierender Nachteil von Definitionslisten ist, dass in HTML 4.01/XHTML 1.x ein gruppierendes Element fehlt, dass die Zugehörigkeit eines 'dt' zu nachfolgender/-n 'dd' ausdrückt. Dieses wird es mit 'di' in XHTML 2 geben. [XHTML2 §11.1]

    See ya up the road,
    Gunnar

    -- „Wer Gründe anhört, kommt in Gefahr nachzugeben.“ (Goethe)
    1. Hallo,

      Ein gravierender Nachteil von Definitionslisten ist, dass in HTML 4.01/XHTML 1.x ein gruppierendes Element fehlt, dass die Zugehörigkeit eines 'dt' zu nachfolgender/-n 'dd' ausdrückt. Dieses wird es mit 'di' in XHTML 2 geben. [XHTML2 §11.1]

      In HTML 4.01/XHTML 1.x gehört jedes dd-Element dem vorhergehenden dt-Element an.
      In XHTML2 wird das di-Element zwar vorhanden sein, aber XHTML2 wird es vermutlich nie schffen von der Webgemeinde angenommen zu werden.

      Das Einbringen eines di-Elements in HTML 5 wurde zwar schon diskutiert, aber ein Ergebnis steht leider noch nicht fest.

      Gruß;

      1. Hello out there!

        In HTML 4.01/XHTML 1.x gehört jedes dd-Element dem vorhergehenden dt-Element an.

        Nope. Es steht nirgens, dass 'dl' überhaupt 'dt' enthalten muss.

        See ya up the road,
        Gunnar

        -- „Wer Gründe anhört, kommt in Gefahr nachzugeben.“ (Goethe)
      2. Hallo Daniel,

        In HTML 4.01/XHTML 1.x gehört jedes dd-Element dem vorhergehenden dt-Element an.

        Das kann ich der Spezifikation nicht entnehmen. Sagt diese nicht lediglich aus, dass als einzige Kinder eines DL-Elements DT- und DD-Elemente erlaubt sind? Es könnte ja auch umgekehrt sein; Definitionsbegriffe nach Definitionsdaten, was dann zwar eine Art Jeopardy-Spiel wäre, aber das gibts ja!

        Ob
        <!ELEMENT DL - - (DT|DD)+
        oder
        <!ELEMENT TR - O (TH|TD)+ ,
        eine Alternations-Reihenfolge der möglichen Kindelemente ist damit doch nicht festgelegt, oder sehe ich das falsch und es liegt daran, dass sich mir die Bedeutung von "- -" bzw. "- O" nicht erschließt?

        In XHTML2 wird das di-Element zwar vorhanden sein, aber XHTML2 wird es vermutlich nie schffen von der Webgemeinde angenommen zu werden.

        Na warum erwägt man denn die Einführung eines solchen gruppierenden Elements (DI)? Das kann doch nur aus genau diesem strukrurellen Grund geschehen; dass eben nicht klar ist, ob DD auf DT folgt oder umgekehrt! Fürs CSS kann DI ja dann zwar auch ganz hilfreich sein, etwa, wenn man DT und/oder DD floaten lassen und ihnen einen gemeinsamen Abstand zum nächsten Definitions-Item verpassen will, aber reine Gestaltugswünsche können ja wohl kaum die Einführung eines neuen Struktur-Elements rechtfertigen.

        Gruß Gernot

        -- super me
        1. Hallo Gernot.

          <!ELEMENT DL - - (DT|DD)+
          oder
          <!ELEMENT TR - O (TH|TD)+ ,
          eine Alternations-Reihenfolge der möglichen Kindelemente ist damit doch nicht festgelegt, oder sehe ich das falsch und es liegt daran, dass sich mir die Bedeutung von "- -" bzw. "- O" nicht erschließt?

          Diese beiden Zeichen zeigen an, ob Anfangs- und Endtag optional sind. Beim dl-Element also keines, beim tr-Element zumindest der Endtag.

          Einen schönen Donnerstag noch.

          Gruß, Mathias

          --
          ie:% fl:| br:< va:) ls:& fo:) rl:( n4:~ ss:) de:] js:| mo:| zu:)

          debian/rules

          1. Hallo Mathias,

            Diese beiden Zeichen zeigen an, ob Anfangs- und Endtag optional sind. Beim dl-Element also keines, beim tr-Element zumindest der Endtag.

            Danke für die Aufklärung, aber kuriose Symbolik dennoch: Kommt es jemals vor, dass das Anfangs-Tag optional ist, wenn ich ein Element verwende, das diesbezügliche Minus ist doch überflüssig!

            Gruß Gernot

            -- super me
            1. Hallo Gernot.

              Diese beiden Zeichen zeigen an, ob Anfangs- und Endtag optional sind. Beim dl-Element also keines, beim tr-Element zumindest der Endtag.

              Danke für die Aufklärung, aber kuriose Symbolik dennoch: Kommt es jemals vor, dass das Anfangs-Tag optional ist, wenn ich ein Element verwende, das diesbezügliche Minus ist doch überflüssig!

              Nein, ich denke hier handelt es sich nur um eine reine Syntaxfrage. Ein Element ohne Anfangstag ist schließlich kein Element.

              Einen schönen Donnerstag noch.

              Gruß, Mathias

              --
              ie:% fl:| br:< va:) ls:& fo:) rl:( n4:~ ss:) de:] js:| mo:| zu:)

              debian/rules

              1. Yerf!

                Danke für die Aufklärung, aber kuriose Symbolik dennoch: Kommt es jemals vor, dass das Anfangs-Tag optional ist, wenn ich ein Element verwende, das diesbezügliche Minus ist doch überflüssig!

                Nein, ich denke hier handelt es sich nur um eine reine Syntaxfrage. Ein Element ohne Anfangstag ist schließlich kein Element.

                Es gibt Elemente mit optionalen Anfangs-Tag: TBODY

                Bei HTML,HEAD und BODY war da doch auch was...

                <TITLE>Test</TITLE> Dies ist ein Test!

                Ist demnäch gültiges HTML... Allerdings kommt damit der FF nicht immer klar (spätestens wenn man noch ein <script> hinten anhängt...)

                Gruß,

                Harlequin

                1. Hallo Harlequin.

                  Danke für die Aufklärung, aber kuriose Symbolik dennoch: Kommt es jemals vor, dass das Anfangs-Tag optional ist, wenn ich ein Element verwende, das diesbezügliche Minus ist doch überflüssig!

                  Nein, ich denke hier handelt es sich nur um eine reine Syntaxfrage. Ein Element ohne Anfangstag ist schließlich kein Element.

                  Es gibt Elemente mit optionalen Anfangs-Tag: TBODY

                  Achja, stimmt. Gänzlich optionale aber implizierte Elemente werden hierdurch gekennzeichnet.

                  Einen schönen Donnerstag noch.

                  Gruß, Mathias

                  --
                  ie:% fl:| br:< va:) ls:& fo:) rl:( n4:~ ss:) de:] js:| mo:| zu:)

                  debian/rules

                2. Hallo Harlequin,

                  Es gibt Elemente mit optionalen Anfangs-Tag: TBODY

                  <body onload="alert(document.getElementsByTagName('TABLE')[0].getElementsByTagName('TBODY').length)"> <table> <tr>  <td></td> </tr> </tbody> <tr>  <td></td> </tr> </table> </body>

                  Tatsache: gemeldet werden zwei TBODY-Elemente, von denen auch das zweite wieder implizit geöffnet wird, nachdem das erste explizit geschlossen wurde.

                  Ist das valides HTML? Die Validatoren meckern jedenfalls, obwohl sie dazu doch nach Spezifikation gar keinen Grund hätten.

                  Gruß Gernot

                  -- super me
                  1. Hallo Gernot.

                    Es gibt Elemente mit optionalen Anfangs-Tag: TBODY

                    <body onload="alert(document.getElementsByTagName('TABLE')[0].getElementsByTagName('TBODY').length)"> <table> <tr> <td></td> </tr> </tbody> <tr> <td></td> </tr> </table> </body>

                    Tatsache: gemeldet werden zwei TBODY-Elemente, von denen auch das zweite wieder implizit geöffnet wird, nachdem das erste explizit geschlossen wurde.

                    Ist das valides HTML?

                    Nein. Ein Element was nicht geöffnet wurde darf nicht geschlossen werden. Niemals, in keiner HTML-Spezifikation.

                    Die Validatoren meckern jedenfalls, obwohl sie dazu doch nach Spezifikation gar keinen Grund hätten.

                    Doch. Verzichtest du auf das Anfangstag ist der Verzicht auf das Endtag Pflicht. (So etwas kann zugebenermaßen in einer DTD nicht festgehalten werden, deshalb die ausführlichere Spezifikation.)

                    Einen schönen Donnerstag noch.

                    Gruß, Mathias

                    --
                    ie:% fl:| br:< va:) ls:& fo:) rl:( n4:~ ss:) de:] js:| mo:| zu:)

                    debian/rules

                3. Hi,

                  <TITLE>Test</TITLE> Dies ist ein Test!

                  Ist demnäch gültiges HTML...

                  Nein, ist es nicht. Der DOCTYPE ist nicht optional.

                  cu,
                  Andreas

                  Fachfragen unaufgefordert per E-Mail halte ich für unverschämt und werde entsprechende E-Mails nicht beantworten. Für Fachfragen ist das Forum da.

                  -- Warum nennt sich Andreas hier MudGuard?
                  O o ostern ...
        2. Hi,

          Ob
          <!ELEMENT DL - - (DT|DD)+
          oder
          <!ELEMENT TR - O (TH|TD)+ ,
          eine Alternations-Reihenfolge der möglichen Kindelemente ist damit doch nicht festgelegt, oder sehe ich das falsch und es liegt daran, dass sich mir die Bedeutung von "- -" bzw. "- O" nicht erschließt?

          How to read the DTD

          cu,
          Andreas

          Fachfragen unaufgefordert per E-Mail halte ich für unverschämt und werde entsprechende E-Mails nicht beantworten. Für Fachfragen ist das Forum da.

          -- Warum nennt sich Andreas hier MudGuard?
          O o ostern ...