Hintergrund wird in einem bestimmten div nicht angezeigt

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Hintergrund wird in einem bestimmten div nicht angezeigt

    Hallo,

    folgender (fürs Forum stark vereinfachter) html-aufbau:
    Code:
    <body>
        <div id="main">
        
          <div id="content">
          
            <div id="container_left">
              <div>diverser Inhalt</div>
            </div>
            
            <div id="container_right">
              <div>diverser Inhalt</div>
            </div>
            
          </div>
          
        </div>
    </body>
    Die divs 'container_left' und 'container_right' sind mit 'float:left' ausgezeichnet und genau da taucht ein Problem auf - nämlich dass das Hintergrundbild, das im div 'content' eingebunden wäre nicht mehr durch die divs 'container_left' und 'container_right' hindurchscheint. Nehm ich das float raus, funktioniert es wieder.

    Binde ich das Hintergrundbild im div 'main' ein, macht es keine Probleme beim floaten, aber in diesem div kann ich das Hintergrundbild beim besten Willen nicht brauchen.

    Es handelt sich dabei wohl nicht um einen Bug, da das IE, FF und Opera ohne Unterschied so machen - scheint ein (Denk-)Fehler von mir zu sein - kann mir jemand auf die Sprünge helfen?

    Gruss
    Quetschi

    PS:
    html und css sind erfolgreich validiert.

    EDIT:
    verhält sich genauso beim Versuch eine Hintergrundfarbe in diesem div anzugeben sowie bei der Textfarbe - beides ohne Wirkung - Angaben wie margin, padding usw. funktioneren aber.
    Zuletzt geändert von Quetschi; 29.11.2005, 17:01.
    Ihr habt ein Torturial durchgearbeitet, das auf den mysql_-Funktionen aufbaut?
    Schön - etwas Geschichte kann ja nicht schaden.
    Aber jetzt seht euch bitte php.net/pdo oder php.net/mysqli bevor ihr beginnt!

  • #2
    Re: Hintergrund wird in einem bestimmten div nicht angezeigt

    Original geschrieben von Quetschi
    Die divs 'container_left' und 'container_right' sind mit 'float:left' ausgezeichnet
    Also sind sie aus dem Elementfluss genommen.
    nämlich dass das Hintergrundbild, das im div 'content' eingebunden wäre nicht mehr durch die divs 'container_left' und 'container_right' hindurchscheint.
    Das hat nichts mit Hintergrundbild oder -farbe zu tun - sondern damit, dass 'content' jetzt eine Höhe von Null hat - warum, siehe oben.

    Gebe ihm explizit ein height - dann siehst du's.
    Nehm ich das float raus, funktioniert es wieder.
    Natürlich, dann sind die Kindelemente ja auch wieder im Fluss, beeinflussen also die Höhe ihres Vorfahren.


    Lösung: Hinter den gefloateten Elementen noch ein (block-)Element mit clear einfügen, oder 'content' selber auch floaten lassen.
    I don't believe in rebirth. Actually, I never did in my whole lives.

    Kommentar


    • #3
      oh mann, weißt du was das schlimmste ist? Das es mir bei meinen ersten CSS-Versuchen genauso ergangen hat, ich damals aber von allein auf die Lösung gekommen bin und diesmal nicht - wieso ist der Kopf-gegen-die-Wand-Smilie noch immer nicht hier?

      Ich setz mich bei Berni dafür ein, dass du so ein Halsband aus dem Voting-Thread für dich springen lässt ... Vielleicht kriegst auch eins aus Leder
      Ihr habt ein Torturial durchgearbeitet, das auf den mysql_-Funktionen aufbaut?
      Schön - etwas Geschichte kann ja nicht schaden.
      Aber jetzt seht euch bitte php.net/pdo oder php.net/mysqli bevor ihr beginnt!

      Kommentar

      Lädt...
      X