Sebastian: Gesamte Größe - nicht sichtbare Größe

Hi,

hab nen Problem mit:
-----------------
<div style="position:absolute; filter:alpha(opacity=25); top:0px; left:0px; z-index:1; width:100%;height:100%;background-color:#000000">
<table cellspacing="2" cellpadding="2" border="0" height="100%" bgcolor="white">
<tr>
    <td>1</td>
    <td>2</td>
</tr>
<tr>
    <td>3</td>
    <td>4</td>
</tr>
</table>
</div>

.... hier dann noch weiterer Inhalt.
-----------------
Wenn ich das so benutze wird nur der sichtbare Bereich von dem <div> abgedeckt. D.h. wenn der Inhalt so viel ist das man nach unten scrollen kann, dann ist unten der div an der Kante, was zu Anfang zu sehen war, zu Ende. Darunter ist die Tabelle dann nicht mehr. Trotz der Angabe von height:100%

Deswegen meine Frage, wie bekomm ich den div über die gesamte Seite?
max-height: geht nicht...

Grüsse, Sebastian

  1. Hi Sebastian,

    <div><table></table></div>

    Die Tabelle nochmal einzuschließen, sollte nicht notwendig sein. Du kannst der Tabelle selbst alle Eigenschaften zuweisen.

    Wenn ich das so benutze wird nur der sichtbare Bereich von dem <div> abgedeckt. D.h. wenn der Inhalt so viel ist das man nach unten scrollen kann, dann ist unten der div an der Kante, was zu Anfang zu sehen war, zu Ende. Darunter ist die Tabelle dann nicht mehr. Trotz der Angabe von height:100%

    Logisch, denn 100% beziehen sich auf die Höhe des Fensters.

    Deswegen meine Frage, wie bekomm ich den div über die gesamte Seite?

    Nochmal: Wozu ein <div>?

    max-height: geht nicht...

    Du willst es doch größer haben, falls erforderlich - oder etwa nicht? Dann wäre nach meinem Verständnis min-height: angebracht... Das funktioniert im M$IE allerdings nicht, also kannst du es vergessen. Eine Möglichkeit wäre noch, dem <div> ein overflow:scroll zu verpassen, damit schließt du aber Opera 6 und viele andere Browser aus. Konsequenz: Lass das <div> um die Tabelle entweder weg oder wenigstens die Höhenangabe. Es passt sich dann ohnehin automatisch an.

    LG Roland

    --
    [x] Für das Thema (BARRIEREFREIHEIT) im Forum
    http://aktuell.de.selfhtml.org/tippstricks/beitrag.htm
    ss:| zu:} ls:} fo:} de:> va:} ch:| sh:) n4:& rl:| br:< js:{ ie:{ fl:{ mo:|
    (siehe http://emmanuel.dammerer.at/selfcode.html)
    1. Hi Roland,

      danke für Deine Antwort.

      Nochmal: Wozu ein <div>?

      Das ganze soll sich nachher über den Inhalt legen. In dem div (Layer) soll dann eine Warnmeldung erscheinen.
      Dann kann man zwischen Speichern und Abbrechen wählen.

      overflow:scroll zu verpassen,

      Das bringt mich leider nicht weiter.

      Mir ist dabei aber die Idee gekommen die Scrollbar einfach in dem Moment zu deaktivieren. Ich weis das das mit HTML so geht: <body scroll="no">

      Aber mit CSS?
      <body style="scroll:no;"> ging leider nicht.

      Hast Du ne Idee?

      Grüsse, Sebastian

    2. Hi,

      Trotz der Angabe von height:100%
      Logisch, denn 100% beziehen sich auf die Höhe des Fensters.

      Nein. Die beziehen sich auf die Höhe des Elternelements.
      Erst beim Toplevel-Element bezieht sich die Höhe auf das Fenster.

      <percentage>
          Specifies a percentage height. The percentage is calculated with respect to the height of the generated box's containing block. If the height of the containing block is not specified explicitly (i.e., it depends on content height), the value is interpreted like 'auto'.

      (siehe http://www.w3.org/TR/REC-CSS2/visudet.html#propdef-height)

      cu,
      Andreas

      --
      Der Optimist: Das Glas  ist halbvoll.  - Der Pessimist: Das Glas ist halbleer. - Der Ingenieur: Das Glas ist doppelt so groß wie nötig.
      http://mud-guard.de/
      1. Hi Andreas,

        danke für Deine Antwort.

        Also wenn ich das richtig verstanden habe muß ich height:auto angeben damit es sich auf den Inhalt bezieht!?

        Nur klappt das nicht so ganz.
        ----------------
        <html>
        <head>
         <title>Unbenannt</title>
        </head>
        <body style="scroll:no;">
        <div style="position:absolute;  top:0px; left:0px; z-index:1; width:100%;height:auto;background-color:#000000">
        <table cellspacing="2" cellpadding="2" border="0" height="100%" bgcolor="red">
        <tr>
            <td>1</td>
            <td>2</td>
        </tr>
        <tr>
            <td>3</td>
            <td>4</td>
        </tr>
        </table>
        </div>
        hjghj
        <br><br><br><br><br><br><br><br><br><br>
        <br><br><br><br><br><br><br><br><br><br>
        <br><br><br><br><br><br><br><br><br><br><br>
        <br><br><br><br><br>hjkbkmhjkhk
        </body>
        </html>
        ----------------
        Die Tabelle wird nicht aufgezogen. - es muß dynamisch sein... keine feste Größe

        Oder gibts vielleicht noch die Möglichkeit per CSS oder JS die Scrollbar zu deaktivieren?

        Grüsse, Sebastian

        1. Moin!

          Also vielleicht bin ich ja zu dusselig, dass Problem zu verstehen,
          aber meine Layer passen sich normalerweise automatisch an die Größe
          des Inhalts an!?
          ICH verstehe dein Problem so, dass dir bei wenig Inhalt der Layer zu klein ist
          (er soll immer mind. Fensterhöhe haben). Darum hast du ihn auf height:100% gestellt.
          Dort bleibt er dann aber auch, wenn du sehr viel Inhalt hast, was dir dann zu wenig ist.
          Habe ich das richtig verstanden?
          Wenn ja, scheint mir persönlich spontan overflow:visible der richtige Ansatz zu sein!?

          Gruß

          Der Hans

          1. Hi,

            aber meine Layer passen sich normalerweise automatisch an die Größe
            des Inhalts an!?

            Ja, aber ich möchte auch ohne den Inhalt im Layer über den gesamten Inhalt des Dokuments den Layer ziehen. Und zwar nicht nur den sichtbaren Bereich den ich ja mit height:100% abdecken kann, sondern über den gesamten Inhalt.

            Wenn ja, scheint mir persönlich spontan overflow:visible der richtige Ansatz zu sein!?

            Bringt leider nichts.

            Grüsse, Sebastian

            http://www.flashhilfe.de :: Flash Community ::

            1. Moin!

              Ja, aber ich möchte auch ohne den Inhalt im Layer über den gesamten Inhalt des Dokuments den Layer ziehen. Und zwar nicht nur den sichtbaren Bereich den ich ja mit height:100% abdecken kann, sondern über den gesamten Inhalt.

              Ich gebe es offen zu: Ich verstehe wohl dein Problem nicht!
              Gibt es den Spaß/das Problem irgendwo zu begutachten? Link?

              Gruß

              Der Hans

              1. Hehe kein Problem.

                Mach einfach ne Seite mit:
                -------------------------
                <html>
                <body>
                <div style="position:absolute; filter:alpha(opacity=25); top:0px; left:0px; z-index:1; width:100%;height:100%;background-color:#000000">
                <table cellspacing="2" cellpadding="2" border="0" height="100%" bgcolor="white">
                <tr>
                    <td>1</td>
                    <td>2</td>
                </tr>
                <tr>
                    <td>3</td>
                    <td>4</td>
                </tr>
                </table>
                </div>
                <br><br><br><br><br><br><br><br><br><br><br><br><br><br>
                <br><br><br><br><br><br><br><br><br><br><br><br><br><br>
                <br><br><br><br><br><br><br><br><br><br><br><br><br><br>
                .... hier dann noch weiterer Inhalt.
                </bod>
                </html>
                -----------------

                Ich möchte das alles, also auch der Satz unten: ".... hier dann noch weiterer Inhalt." vom Layer überdeckt wird. Wenn Du jetzt nicht eine zu hohe Auflösung hast, wirste das Problem schnell erkennen. -ansonten mach noch nen paar Reihen <br> mehr ;)

                Grüsse, Sebastian

                1. Hi,

                  <div style="position:absolute; filter:alpha(opacity=25); top:0px; left:0px; z-index:1; width:100%;height:100%;background-color:#000000">

                  ^^^^^^ gibt es nicht in CSS                                        ^^^^^^^^^^^
                                                                                                                       ||||||||||| bezieht sich, wie bereits in meinem ersten Posting erwähnt, auf die Größe des Elternelements (also body). Default-Wert für height ist auto. 100% von auto = auto. Nur beim Toplevel-Element (html) beziehen sich prozentuale Werte auf die Fenstergröße. Setze also für die Eltern-Elemente jeweils geeignete height-Werte.

                  cu,
                  Andreas

                  --
                  Der Optimist: Das Glas  ist halbvoll.  - Der Pessimist: Das Glas ist halbleer. - Der Ingenieur: Das Glas ist doppelt so groß wie nötig.
                  http://mud-guard.de? http://www.andreas-waechter.de/
                  1. Hi,

                    und wie bereits beim ersten Beitrag von Dir, kann ich mit Deiner Antwort leider nicht viel anfangen, den ich hab keine Ahnung wie ich mich auf das Toplevel-Element beziehe.

                    Ein Link oder Stichwort wären nett.

                    Zu:
                     ^^^^^^ gibt es nicht in CSS
                    das hatte bei mir funktioniert. Gibts den sonst andere Möglichkeiten den Layer etwas transparenter zu machen?

                    Nur beim Toplevel-Element (html) beziehen sich prozentuale Werte auf die Fenstergröße. Setze also für die Eltern-Elemente jeweils geeignete height-Werte.

                    ???

                    Grüsse, Sebastian