tutorials.de Buch-Aktion 05/2012
ERLEDIGT
NEIN
ANTWORTEN
8
ZUGRIFFE
600
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    hooligan29 hooligan29 ist offline Rookie
    Registriert seit
    Dec 2011
    Beiträge
    5
    Hallo,

    folgendes Problem: Habe einen Contentbereich mit 980px der je nach Bedarf links oder rechts einen Banner erhält. Sobald der Bannerbereich rechts gefüllt ist bekomme ich eine horizontalen Scrollbalken wenn das Browserfenster in den Bannerbereich kommt. Fülle ich den linken Bereich scrollt die Seite erst wenn ich in den Contentbereich komme - der Banner links wird quasi ignoriert.
    Da mit dem Codeschnipsel unten die leeren div's nicht ausgeblendet werden muss man tum testen einmal das linke und einmal das rechte Banner-div entfernen und man sieht den Unterschied.

    CSS:
    Code :
    1
    2
    3
    
    .content {width:980px; margin:auto; padding: 0px; position: relative;}
    .banner_left {position: absolute; right: 50%; margin-right: 500px; width: 50px;}
    .banner_right {position: absolute; left: 50%; margin-left: 500px; width: 50px}
    Codeauschnitt:
    HTML-Code:
    <div class="content">Inhalt der Seite</div>
    <div class="banner_left" id="divbanner2">linker Banner</div>
    <div class="banner_right" id="divbanner3">rechter Banner</div>
    Geändert von hooligan29 (16.12.11 um 10:47 Uhr)
     

  2. #2
    OpaBenno OpaBenno ist offline Mitglied
    Registriert seit
    Jun 2011
    Beiträge
    14
    Ich sehe hier keine Frage (in meinem Alter darf man das!).
    Beim Codeausschnitt wird der div (Zeile 1) zu früh geschlossen?
    Oder in Zeile 3 wird der div nicht geschlossen, sondern ein neuer div geöffnet.
    Tut mir leid, aber da hat niemand Lust zu antworten.
     

  3. #3
    hooligan29 hooligan29 ist offline Rookie
    Registriert seit
    Dec 2011
    Beiträge
    5
    @OpaBenno

    Wo ist das Problem mit der Fragestellung?

    Zeile 1: wird nicht zu früh geschlossen!

    Zeile 3: sorry Tippfehler, in meinem Code ist das div natürlich geschlossen!

    Problem bleibt bestehen, dass linker Banner aus dem Browserfenster geschoben wird wenn rechter Banner nicht gefüllt ist und erst beim Content dann der Scrollbalken kommt.
     

  4. #4
    Joe Joe ist offline Mitglied Brokat
    Registriert seit
    Aug 2009
    Ort
    Thüringen
    Beiträge
    339
    Es gibt keine Fragestellung.
    Man ist gezwungen zu raten was du willst. Ich tippe mal bunt auf du willst einen Scrollbalken sobald dein linker Banner (variabel? Mal keiner, mal einer da?) erscheint.

    Die Leute sollen also nun deinen Code testen? Da ergibt sich das Problem das man nicht weiss welche Grössen die Bilder haben. Zumal ich für meinen Teil da voll Unlust habe das zu testen. Auserdem ist es möglich das deine Bilder transparente Bereiche haben, was durchaus ein wichtiger Faktor zum Rätsel darstellt.

    Wäre vieleicht ein Screen hilfreich? Auf jedenfall wäre eine Frage (mit Fragezeichen am Ende) für dich zielführender. Man könnte dir gezielt antworten.
     

  5. #5
    hooligan29 hooligan29 ist offline Rookie
    Registriert seit
    Dec 2011
    Beiträge
    5
    ok, dann versuche ich es mal so zu erklären:

    Neben dem Content wird je nach Bedarf ein Banner eingebunden.
    Zieht man den Browser horizontal zusammen erscheint ein Scrollbalken sobald man in den Bereich des rechten Banners kommt.
    Entferne ich das kpl. rechte div scollt der Browser erst wenn man den Bereich des Contents erreicht, der linke Banner wird herausgeschoben ohne das ein Scrollbalken kommt.

    Zum testen am besten mal code unten öffen und horizontal verkleinern bis der Scrollbalken kommt. Dann das rechte div entfernen und den Browser aktualisieren.

    Dann verschwindet der Scrollbalken obwohl das linke div genau wie das rechte durch die gleiche Formatierung schon (z.T.) außerhalb des sichtbaren Bereichs liegt.

    Meine Frage(n):
    Warum wird das rechte div in den Scrollbereich mit eingerechnet und das linke nicht?
    Wie kann man das lösen, dass der Content zentriert bleibt, und egal ob linker und/oder rechter Banner eingebaut sind ein Scrollbalken erscheint sobald man ein Banner-div aus dem sichtbaren Bereich des Browserfensters geschoben wird?

    Hier nochmal der kpl. (vereinfachte) Code:

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <style type="text/css">
    .content {width:980px; height:500px; background:red; margin:auto; padding: 0px; }
    .banner_left {position: absolute; top:10px; right: 50%; margin-right: 500px; width:111px; background:green;}
    .banner_right {position: absolute; top:10px; left: 50%; margin-left: 500px; width:111px; background:green;}
    </style>
    </head>
    <body>
    <div class="content">Inhalt der Seite</div>
    <div class="banner_left">linker Banner</div>
    <div class="banner_right">rechter Banner</div>
    </body>
    </html>

    Danke und Gruß.
    Geändert von hooligan29 (16.12.11 um 15:46 Uhr)
     

  6. #6
    Joe Joe ist offline Mitglied Brokat
    Registriert seit
    Aug 2009
    Ort
    Thüringen
    Beiträge
    339
    Zum zentrieren kannst du dem Content
    background-position:top center;
    mitgeben.

    Und dann würde ich mit float arbeiten. Also den linken Banner float: left; und den rechten foat: right; geben. Dann sollte der Scrollbalken so wie gewünscht funktionieren. Einfach das position: absolute; ersetzen mit dem float.

    Warum sich das mit dem Scrolling so bei dir verhält weiss ich allerdings nicht.

    Gruss Joe.
     

  7. #7
    Avatar von hela
    hela hela ist offline Mitglied Smaragd
    tutorials.de Premium-User
    Registriert seit
    Oct 2004
    Beiträge
    1.123
    Zitat Zitat von hooligan29 Beitrag anzeigen
    ... Warum wird das rechte div in den Scrollbereich mit eingerechnet und das linke nicht?
    Wie kann man das lösen, dass der Content zentriert bleibt, und egal ob linker und/oder rechter Banner eingebaut sind ein Scrollbalken erscheint sobald man ein Banner-div aus dem sichtbaren Bereich des Browserfensters geschoben wird?
    ...
    Hallo,
    sobald das Browserfenster in der Breite kleiner als 1222px wird schiebst du den "banner_left"-Block links aus dem Viewport. Alle Elemente, die sich oberhalb oder links außerhalb des Browserfensters befinden, sind nicht darstellbar. Das ist normales Browserverhalten, das man ggf. auch ausnutzen kann.

    Du müsstest also deine drei DIV-Blöcke in einen Hüllenblock (id="wrapper") stecken, der 1222px breit ist und im Viewport zentriert wird:
    HTML-Code:
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
      "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
      <head>
        <style type="text/css">
          #wrapper {
            position: relative;
            width: 1222px;
            margin: 10px auto 0;
          }
          .content {
            width: 980px;
            height: 300px;
            background: red;
            margin: 0 auto;
          }
          .banner_left {
            position: absolute;
            top: 0;
            left: 0;
            width: 111px;
            background: green;
          }
          .banner_right {
            position: absolute;
            top: 0;
            right: 0;
            width: 111px;
            background: green;
          }
        </style>
      </head>
      <body>
        <div id="wrapper">
          <div class="content">Inhalt der Seite</div>
          <div class="banner_left">linker Banner</div>
          <div class="banner_right">rechter Banner</div>
        </div>
      </body>
    </html>
     

  8. #8
    hooligan29 hooligan29 ist offline Rookie
    Registriert seit
    Dec 2011
    Beiträge
    5
    Danke für die Antwort. Würde pinzipiell natürlich funktionieren. Problem ist nur, dass die Banner dynamisch ein- und ausgeblendet werden, was ich dann mit dem wrapper auch machen müsste um nicht bei leeren Bannern einen Scrollbalken zu haben, der dann nicht nötig wäre.

    Eine Lösung, dass der Browser auch ohne den wrapper den linken Banner erkennt gibt es nicht?
     

  9. #9
    djheke djheke ist offline Mitglied Silber
    Registriert seit
    Sep 2011
    Beiträge
    96
    Das Scrollproblem ist zwar mit folgendem Beispiel nicht gelöst, aber wenn es dir nur darum geht, dass bei fehlender Werbung die Spalten verschwinden und nur der Contentbereich sichtbar ist, dann könntest du ja auf display:table zurückgreifen. Wenn nicht dann vergiss dieses Beispiel.
    Demo
    mfg
     

Ähnliche Themen

  1. Nur contents neu laden mit asp
    Von sniffler im Forum ASP
    Antworten: 6
    Letzter Beitrag: 16.08.07, 15:03
  2. Eclipse Help Contents
    Von darksmilie im Forum Java
    Antworten: 0
    Letzter Beitrag: 30.11.06, 09:38
  3. waagerechter scrollbereich
    Von demar im Forum Flash Plattform
    Antworten: 3
    Letzter Beitrag: 21.08.06, 17:21
  4. If Contents
    Von z3ro_man im Forum Javascript & Ajax
    Antworten: 1
    Letzter Beitrag: 18.09.05, 15:14
  5. Frage zu GUI & contents
    Von BliZzor im Forum Java
    Antworten: 1
    Letzter Beitrag: 23.04.04, 11:50