Kleines Problem mit XHTML...

Dieses Thema im Forum "Programmieren" wurde erstellt von stna1981, 7. Oktober 2002.

Status des Themas:
Es sind keine weiteren Antworten möglich.
  1. stna1981

    stna1981 Kbyte

    Registriert seit:
    19. September 2000
    Beiträge:
    200
    Verdana\',cursive; font-style:normal; font-size:9pt; font-weight:bold; text-decoration:none; line-height:16pt}
    .bgtable2
    .bgtable
    .bgbody
    .bgrow
    </style>
    </head>

    <body>
    <div align=center>
    <div style="position:relative; top: 0px; left:-289px; width:168px; height:100px; background-color:white; border-color:gray; border-style:solid; border-width:2px"><img src="banner_klein.jpg" height="100" width="168" alt="Kleines Banner" /></div>
    <div style="position:relative; top:-104px; left: 86px; width:576px; height:100px; background-color:white; border-color:gray; border-style:solid; border-width:2px; border-left-width:0px"><img src="banner_klein.jpg" height="100" width="576" alt="Großes Banner" /></div>
    <div style="position:relative; top:-104px; left:-289px; width:168px; height:300px; background-color:silver; border-color:gray; border-style:solid; border-width:2px; border-top-width:0px; padding-top:10px"><div style="width:168px"></div></div>
    <div style="position:relative; top:-404px; left: 86px; width:576px; height:300px; background-color:red; border-color:gray; border-style:solid; border-width:2px; border-top-width:0px; border-left-width:0px"><div style="width:576px"></div></div>
    </body>
    </html>

    Es geht darum, dass es in IE zwar passt, aber wie wair ja alle wissen ist der IE sehr tolerant. In NS 7.0 und Opera 6.05 sieht man, wo der Fehler liegt. Der div unten rechts ist verschoben, und ich weiß nicht, woran es liegt.
    Wenn ich ihn so einstelle, dass er in den beiden passt, dann stimmt es im IE nicht mehr. Bei den drei anderen divs hat es problemlos funktioniert (ok musste ein bisschen hin und her probieren wegen den rahmen, weil man die zu den breiten hinzuaddieren muss), aber bei diesem hier scheint nichts zu passen.
    Und warum folgt auf den sichtbaren Bereich noch ein so großer leerer Bereich untendrunter?
    Kann mir wer weiterhelfen?

    Mfg

    Stefan
     
  2. kalweit

    kalweit Hüter der Glaskugel

    Registriert seit:
    18. April 2000
    Beiträge:
    31.476
    ...siehst du und wegen dem ganzen Müll habe ich es irgendwann aufgegeben und mach wieder ganz normale Tabellenlayouts - nicht zuletzt, da die auch in älteren Browsern und selbst bei Textbrowsern brauchbare Ergebnisse liefern... - XML Gedanke hin oder her, entscheidend ist, was hinten raus kommt.

    Gruss, Matthias
     
  3. stna1981

    stna1981 Kbyte

    Registriert seit:
    19. September 2000
    Beiträge:
    200
    Hallo.

    Das mit den negativen Werten klingt einleuchtend, auch wenn es logisch gesehen kompletter Schwachsinn ist, denn das Element ist ja da wo es ist und nicht da, wo es ursprünglich hätte sein sollten wenn es nicht verschoben worden wäre...
    Aber wie soll ich die divs sonst ausrichten? Relative Angaben fallen weg, und absolute auch, da ja der Abstand vom rand variiert, je nach Bildschirmauflösung und Fenstergröße, du verstehst? Und ich habe es bisher nicht geschafft, einen div einen vorhergehenden div als Elternelement anzusehen, dann wäre es wohl kein problem, aber divs orientieren sich immer am body *grml*
    Das mit der Tabelle war mein Fehler... im Feld links unten soll eine Navigation stehen, die befindet sich in einer Tabelle, welche 10 Pixel Abstand nach oben vom Tabellenrand haben soll, und ich bekomme es mit padding nicht hin, egal wo ich es hinsetze. Habe auch schon einen div drumherum gemacht, aber ohne Erfolg... also es geht schon, aber Netscape addiert dann den Wert immer dazu, was ja Schwachsinn ist... denn Padding ist der Abstand des Inhaltes, hat ja mit der Elementgröße nichts zu tun!
    Dein Vorschlag bzgl. des zentrirten Ausrichtens sieht logisch aus, habe es auch schonmal so versucht, hat aber in opera und Netscape verheerende Wirkung, man sieht nur noch Müll danach, die halbe Seite rückt aus dem Bild... :((

    Mfg

    Stefan
     
  4. kalweit

    kalweit Hüter der Glaskugel

    Registriert seit:
    18. April 2000
    Beiträge:
    31.476
    Mal von hinten:

    Das mit dem scrollen liegt daran, dass du negative Werte bei der Positionierung verwendest (bin mal selbst darüber gestolpert und ein Verzicht auf negative Werte war die einzigste Möglichkeit das zu unterbinden). Warum das so ist - keine Ahnung (irgendwas in der Art: -*-=+)

    Welche Tabelle? - Bastel ein <div> in das Basis<div> und mach da das padding rein (sollte wie bei verschachtelten Tabellen funktionieren).

    Das Problem ist, dass du nicht festgelegt hast, auf welche Basis sich dein text-align bezieht. Du müsstest also auch da noch ein <div> drüberschachteln:
    <div style="width:100%;">
    <div style="text-align:center;width:xxxpx;">
    // ne Menge Code
    </div></div>
    (ungetestet)

    Gruss, Matthias

    PS: Das mit dem Schwachsinn ist kein Schwachsinn, sondern eine Definitionsfrage (nutzbare Größe oder Gesamtgröße eines Layers) - müsste man mal beim w3c nachlesen, wer Recht hat...
     
  5. stna1981

    stna1981 Kbyte

    Registriert seit:
    19. September 2000
    Beiträge:
    200
    Aaalso :)

    Erstmal danke. Auf die Sache mit padding hätt ich auch selbst kommen können... nur wie krieg ich die Tabelle jetzt 10 Pixel nach unten? Wenn ich das padding korrekterweise in den div hintendran schreibe, dann spinnt Netscape rum und addiert das padding zu dem gesamten div hinzu, was doch Schwachsinn ist...
    Und mal ne generelle Frage: ich hab so meine Schwierigkeiten. gewisse Dinge zentriert auszurichten, seit es den align-Befehl nicht mehr gibt (in XHTML). Wie zum Geier kann ich denn Sachen zentrieren? Mit <div style="text-align:center"> geht es zumindest mal nicht :-/
    Und wenn du mal den Quelltext im Browser anzeigen l#sst, wirst du sehen, was ichmeine. Unter den vier div\'s kommt ein recht großer leerer Bereich, den man scrollen kann, aber in dem nichts drin steht, da ist einfach nichts, aber ist vorhanden und lässt sich scrollen, und ich hab keine Idee warum...

    Mfg

    Stefan
     
  6. kalweit

    kalweit Hüter der Glaskugel

    Registriert seit:
    18. April 2000
    Beiträge:
    31.476
    Hab mal ein bischen probiert: Nimm mal aus dem vorletzten <div> das padding-top raus und setze bei den letzten beiden alle Rahmen auf 0px. Dann sollten zumindest die Layer richtig positioniert sein. Jetzt musst du dir aber was Neues ausdenken, damit deine Rahmen wieder dahin kommen. Achja, dein übergeordnetes <div> ist nicht geschlossen.

    Gruss, Matthias

    PS: Was meinst du mit "sichtbaren Bereich noch ein großer leerer..."?
     
Status des Themas:
Es sind keine weiteren Antworten möglich.

Diese Seite empfehlen