tutorials.de Buch-Aktion 05/2012
ERLEDIGT
NEIN
ANTWORTEN
13
ZUGRIFFE
575
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
DIESES THEMA IST
GESCHLOSSEN
  1. #1
    Registriert seit
    Apr 2005
    Beiträge
    680
    Hallo zusammen...

    Ich habe ein Layout gemacht, welches auf folgenden DIV-Ebenen besteht:

    #background = Beinhaltet ein BG-Image mit Verlauf der x-achse (also verlaut horizontal)
    #content = Beinhaltet das Haupt-DIV für jeden Content

    Soweit so gut... mit dem überlappen habe ich keine Probleme. Nur ist die #content Klasse "immer" am Ende der Seite platziert. Es lässt sich einfach ein Abstand unter #content bringen. Kann mir da jemand helfen ?

    Hier die Klassen-Codes

    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    
    #background { 
    height:513px; 
    overflow:hidden; 
    background-image:url('images/navigation_main_bg_top.gif'); 
    background-repeat: x-repeat; 
    }
    #content { 
    float:left; 
    width:920px; 
    z-index:2; 
    margin-bottom:30px; 
    background-color:#5f7f94; 
    background-image:url('images/body_main_bg.gif'); 
    background-repeat: y-repeat; 
    position:absolute; 
    left:50%; 
    margin-left:-460px; 
    text-align:center;
    }

    Das Problem ist einfach, wenn ich ein weiteres DIV mit einbringen will, zb. unter #content, dann wird dieses unter #background gehangen, als an #container.



    Danke
     

  2. #2
    Avatar von Sven Mintel
    Sven Mintel Sven Mintel ist offline Mitglied
    Registriert seit
    Aug 2003
    Beiträge
    18.238
    Blog-Einträge
    6
    #content ist absolute positioniert...dadurch beinflusst es nicht die Position anderer Seitenelemente....also: nimm diese Positionsangabe heraus, und nachfolgende Elemente kleben unter #content.

    Ich weiss allerdings nicht, ob ich dich jetzt richtig verstanden habe... irgendwie muss man deine Beiträge immer 5x lesen, bevor man zumindest eine Ahnung hat, was du meinst

    Vielleicht kannst du daran ja mal etwas feilen
     

  3. #3
    Maik Tutorials.de Gastzugang
    Nur mal so am Rande angemerkt: es handelt sich hierbei um IDs und nicht um Klassen.

    Wie Sven schon richtig erkannte, liegt es an der absoluten Positionierung, die mit left:50% sowie margin-left:-460px der horizontalen Zentrierung des Elements dienen soll, und sich auch mit einer relativen Positionierung regeln lässt:

    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    
    #content { 
    position:relative;
    left:50%;
    margin-left:-460px;
    margin-bottom:30px;
    z-index:2;
    width:920px;
    background-color:#5f7f94;
    background-image:url('images/body_main_bg.gif');
    background-repeat: repeat-y;
    text-align:center;
    }
    Auf diese Weise werden alle nachfolgenden Elemente unter dem DIV #content angeordnet.
     

  4. #4
    Registriert seit
    Apr 2005
    Beiträge
    680
    Sven Mintel: Danke für den Hinweis. Ich werde es mir zu herzen nehmen. Danke für deine Lösung

    michael: Ja, es sind keine Klassen, ich weis. Habe es nur so im Kopf gehabt, da es damals einmal Klassen waren. Danke für deine Lösung!

    Es hat wirklich funktioniert. Danke für die schnelle Hilfe


    Ich habe noch einige Fragen. Ich mache dafür keinen neuen Thread auf.

    - Ich habe nun das Problem, dass sich trotz dem (background-repeat: x-repeat das Hintergrundbild "Zeile" für "Zeile" wiederholt, außer nur seitlich. (Betrifft nur den IE 6 bisher)

    - Ich bin gestern auf etliche Lösungen für DIV's gestoßen, mit denen es möglich sein soll das DIV mit "height:100%;" zu belegen. (html { height:100%; } ) Leider hat es nicht funktioniert. Gib es da noch andere Lösungswege mittlerweile ?

    Danke
     

  5. #5
    Maik Tutorials.de Gastzugang
    Die Werte lauten repeat-x bzw. repeat-y.

    Neben der height-Angabe für den Viewport und Dokumentkörper (html und body), benötigt auch das entsprechende DIV diese Eigenschaft. Als Beispiel hierzu siehe auch den Thread Footer unten plazieren.
     

  6. #6
    Registriert seit
    Apr 2005
    Beiträge
    680
    ROFL @ Repeat

    Ok, das habe ich gemacht.

    body, html { height:100%; }
    .the_div { height:100%; }


    Trotzdem wird das DIV nur anhand den Inhalts groß gezogen...

    Hier das DIV selber:

    HTML-Code:
    #box_outer    { float:left; width:165px; height:100%; overflow:visible; border-left:solid 1px #607f93; background-color:#fef5e4;}
    Danke
     

  7. #7
    Maik Tutorials.de Gastzugang
    Also bei mir funktioniert's einwandfrei, Testumgebung: Win2k, Firefox 1.5.0.4, IE 6.0, Mozilla 1.7.12, Netscape 7.0, Opera 8.50.

    Hier der Quelltext meiner Testseite:

    HTML-Code:
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
      "http://www.w3.org/TR/html4/strict.dtd">
    <html>
    <head>
    <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1">
    <title></title>
    
    <style type="text/css">
    <!--
    html, body {
    height: 100%;
    margin: 0;
    padding: 0;
    }
    
    #box_outer {
    float:left;
    width:165px;
    height:100%;
    overflow:visible;
    border-left:solid 1px #607f93;
    background-color:#fef5e4;
    }
    -->
    </style>
    
    </head>
    <body>
    
    <div id="box_outer">box_outer</div>
    
    </body>
    </html>
     

  8. #8
    Registriert seit
    Apr 2005
    Beiträge
    680
    Dein Lösungsvorschlag geht bei mir nun auch... Habs einfach mal copy & paste eingefügt mit DW.

    #box_outer ist das zweite DIV in einer Zeile. Vielleicht liegt es daran.

    HTML-Code:
    #box_inner    { float:left; width:740px; height:100%; overflow:auto; background-color:#FFF;}
    #box_inner befindet sich direkt links neben #box_outer. Kann es daran liegen ?
     

  9. #9
    Maik Tutorials.de Gastzugang
    Kurz und knapp: nein.

    HTML-Code:
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
      "http://www.w3.org/TR/html4/strict.dtd">
    <html>
    <head>
    <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1">
    <title></title>
    
    <style type="text/css">
    <!--
    html, body {
    height: 100%;
    }
    
    #box_outer  {
    float:left;
    width:165px;
    height:100%;
    overflow:visible;
    border-left:solid 1px #607f93;
    background-color:#fef5e4;
    }
    
    #box_inner {
    float:left;
    width:740px;
    height:100%;
    overflow:auto;
    background-color:#ffff00;
    }
    -->
    </style>
    
    </head>
    <body>
    
    <div id="box_outer">box_outer</div>
    
    <div id="box_inner">box_inner</div>
    
    </body>
    </html>
     

  10. #10
    Registriert seit
    Apr 2005
    Beiträge
    680
    Mmh, es geht einfach nicht.

    Kann es vielleicht daran liegen, dass ich diese beiden DIV nochmal in einem DIV habe ? Also quasi umrahmt noch einmal.

    Hier der entsprechende Code:

    HTML-Code:
    #container     { width:920px; z-index:2; background-color:#5f7f94; background-image:url('images/body_main_bg.gif'); background-repeat: repeat-y; position:relative; left:50%; margin-left:-460px; text-align:center; }
     

  11. #11
    Maik Tutorials.de Gastzugang
    Dann formatiere auch dieses DIV mit der height:100%-Eigenschaft

    Und nenne bitte beim nächsten Mal gleich zu Beginn alle enthaltenden Seitenelemente und serviere die Infos nicht "häppchenweise".
     

  12. #12
    Registriert seit
    Apr 2005
    Beiträge
    680
    Es geht immernoch nicht...

    Hier nochmal alle CSS-Teile:


    HTML-Code:
    html, body {  margin:0; padding:0; height:100%; }
    
    #container     { width:920px; height:100%; z-index:2; background-color:#5f7f94; background-image:url('images/body_main_bg.gif'); background-repeat: repeat-y; position:relative; left:50%; margin-left:-460px; text-align:center; }
    
    #box_outer    { float:left; height:100%; width:165px; overflow:visible; border-left:solid 1px #607f93; background-color:#fef5e4;}
    #box_inner    { float:left; width:740px; height:100%; overflow:auto; background-color:#FFF;}
    Vielleicht findest Du ja einen Fehler...

    #container = Basis DIV (Rahmen)
    #box_outer = rechte Spalte
    #box_inner = linke (Haupt-)Spalte
     

  13. #13
    Maik Tutorials.de Gastzugang
    Am CSS-Code kann es nicht liegen, denn der funktioniert weiterhin in allen mir zur Verfügung stehenden Browsern fehlerfrei.

    Zeig doch mal den vollständigen Quelltext deiner HTML-Seite, vielleicht gibt es ja noch ein weiteres DIV, das die Regel wieder aushebelt?
     

  14. #14
    Maik Tutorials.de Gastzugang
    Vielleicht hilft dir ja der Quelltext meiner Testseite bei der Fehlersuche weiter:

    HTML-Code:
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
      "http://www.w3.org/TR/html4/strict.dtd">
    <html>
    <head>
    <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1">
    <title></title>
    
    <style type="text/css">
    <!--
    html, body {
    height: 100%;
    }
    
    #container {
    width:920px;
    z-index:2;
    background-color:#5f7f94;
    background-image:url('images/body_main_bg.gif');
    background-repeat: repeat-y;
    position:relative;
    left:50%;
    margin-left:-460px;
    text-align:center;
    height: 100%;
    }
    
    #box_outer  {
    float:left;
    width:165px;
    height:100%;
    overflow:visible;
    border-left:solid 1px #607f93;
    background-color:#fef5e4;
    }
    
    #box_inner {
    float:left;
    width:740px;
    height:100%;
    overflow:auto;
    background-color:#ffff00;
    }
    -->
    </style>
    
    </head>
    <body>
    
    <div id="container">
         <div id="box_inner">box_inner</div>
         <div id="box_outer">box_outer</div>
    </div>
    
    </body>
    </html>
    • Browsercheck: Firefox 1.5.0.4, IE 6.0, Mozilla 1.7.12, Netscape 7.0, Opera 8.50 | Win2000
     

Ähnliche Themen

  1. Vererbung von Abständen
    Von suntrop im Forum CSS
    Antworten: 3
    Letzter Beitrag: 14.12.07, 10:10
  2. Probleme mit z-index
    Von julchen im Forum Flash Plattform
    Antworten: 6
    Letzter Beitrag: 02.01.07, 16:20
  3. Antworten: 3
    Letzter Beitrag: 23.03.06, 18:27
  4. Probleme mit Abständen
    Von DJBelial im Forum CSS
    Antworten: 0
    Letzter Beitrag: 08.12.05, 20:54
  5. Probleme mit z-index und Reitern
    Von photon im Forum CSS
    Antworten: 1
    Letzter Beitrag: 18.08.05, 20:12