SK: height="100%" bei DIVs funktioniert nur ohne Doctype?

Guten Abend,

ich möchte gern, dass sich ein DIV mit einem Hintergrund, der sich auf der Y-Achse wiederholt, bis zum unteren Ende des Browserfensters ausdehnt. Das Attribut "height: 100%" habe ich schon ausprobiert, allerdings funktioniert das nur, wenn ich jeglichen Doctype weglasse!
Kann das sein oder hab ich da einen Denkfehler drin?

Danke schonmal!

  1. Hello out there!

    Das Attribut "height: 100%" habe ich schon ausprobiert,

    Äh, was denn nun? Im Titel sprichst du vom HTML-Attribut 'height'; jetzt von der CSS-Eigenschaft 'height', auch wenn du sie fälschlicherweise „Attribut“ nennst.

    Ich hoffe mal, du machst sämtliche Darstellungsangaben mit CSS.

    allerdings funktioniert das nur, wenn ich jeglichen Doctype weglasse!

    Ansonsten schalten Browser vom „Ich-rate-mal-was-der-Webseitenautor-will“-Modus in den „Ich-tu-das-was-der-Webseitenautor-sagt-(auch-wenn’s-nicht-das-ist-was-er-eigentlich-will)“-Modus.

    Kann das sein

    Ja, natürlich. 100% beziehen sich auf die umschließende Box (des Elternelements). Welche Höhe hat diese? Welche Höhe hat deren umschließende Box?

    oder hab ich da einen Denkfehler drin?

    Ja, du hast vermutlich keine Höhe für die Elternelemente des 'div' (bis hinauf zum Wurzelelement!!) angegeben.

    See ya up the road,
    Gunnar

    --
    „Und [dieses Forum] soll […] auch ein Fachforum bleiben und kein Psychologieforum werden.“ (Kirsten Evers)
    1. Zunächst mal: Ich spreche eigentlich sowohl von dem HTML-Attribut als auch von der CSS-Eigenschaft. Das kam wohl in meinem Post nicht gut rüber. Wenn möglich, lagere ich alles in einer CSS-Datei aus, jedoch habe ich in dem Fall zum Probieren die Angabe in HTML gemacht, daher der versehentliche Mix ;)

      Den Fehler mit den Elternelementen habe ich nicht gemacht, weil das besagte DIV direkt auf <body> folgt - und soweit ich weiß, muss/soll man  für den Body keine Höhe angeben ;)

      Hast du noch einen Tipp für mich?

      1. Hello out there!

        Den Fehler mit den Elternelementen habe ich nicht gemacht, weil das besagte DIV direkt auf <body> folgt

        ?? Hä?

        und soweit ich weiß, muss/soll man  für den Body keine Höhe angeben ;)

        Da „weißt“ du falsch.

        Hast du noch einen Tipp für mich?

        Beherzige meinen ersten.

        See ya up the road,
        Gunnar

        PS: Vermutlich ist dieses 'div' gar nicht nötig. Warum hat nicht das 'body'-Element diese Formatierungen?

        --
        „Und [dieses Forum] soll […] auch ein Fachforum bleiben und kein Psychologieforum werden.“ (Kirsten Evers)
        1. ?? Hä?

          Das DIV ist das erste Element im Body! Es gibt keine übergeordnete Box.

          und soweit ich weiß, muss/soll man  für den Body keine Höhe angeben ;)

          Da „weißt“ du falsch.

          Schön, ich habe jetzt alle HTML-Attribute wieder durch CSS-Eigenschaften ersetzt und für body eine Höhe von 100% angegeben. Das DIV wird trotzdem nicht verlängert.

          Und damit wir uns nicht falsch verstehen, hier ein Beispiel. Vielleicht kannst du mir anhand dessen erklären, was ich falsch mache.

          (HTML)
          <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
          <html>
           <head>
            <title>untitled</title>
            <link rel="stylesheet" type="text/css" href="style.css">
           </head>
           <body>
            <div id="main">
             .........
            </div>
           </body>
          </html>

          (Externe CSS-Datei)
          body  {
           height: 100%;
          }

          #main {
           background: #808080;
           width: 50%;
           height: 100%;
          }

          1. Hello out there!

            Das DIV ist das erste Element im Body! Es gibt keine übergeordnete Box.

            „Übergeordnet“ war wohl missverständlich. Ich meinte die umschließende Box [CSS2 §9.1.2]; die Box des übergeordneten Elements im Elementbaum.

            […] und für body eine Höhe von 100% angegeben. Das DIV wird trotzdem nicht verlängert.

            Und ich sagte doch extra „bis hinauf zum Wurzelelement!!“ [icke]

            „Elternelemente“ war dort wohl auch missverständlich. Ich meinte Vorfahrenelemente: das Elternelement des 'div'und dessen Elternelement.

            See ya up the road,
            Gunnar

            --
            „Und [dieses Forum] soll […] auch ein Fachforum bleiben und kein Psychologieforum werden.“ (Kirsten Evers)
      2. Moin,

        Den Fehler mit den Elternelementen habe ich nicht gemacht, weil das besagte DIV direkt auf <body> folgt - und soweit ich weiß, muss/soll man  für den Body keine Höhe angeben ;)

        Da liegt der Fehler. Und auch das html-Element nicht vergessen. Das braucht event. auch 100% Höhe.

        Gruß

        Stareagle

      3. Hallo,

        ich habe jetzt keinen Plan, welcher Nachricht ich antworte und habe auch nicht alles durchgelesen. Versuch's mal damit:

        <div style="background-image:url(background.jpg) background-repeat:repeat-y>
        </div>

        Gruß

        --
        Pascal