• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

Homepage Layout: float:left Problem

Gilles

Blogger
Hallo Leute.
Wollte heute mal ein Layout für ne Seite machen die ich schreibe. Da ich jedoch nicht sehr gut in css bin habe ich folgendes Problem
HTML:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
    <head>
      <style>
        
        body {
          background-color: #BCCDDE;
        }
        
        .main {
          height: 40em;
          width: 80%;
          margin: 4em auto auto auto;
          
        }

        .header {
          height: 20%;
          background-color: #778899;
          text-align: center;
          border: solid 1px black;
        }
        
        .sidebar {
          float:left;
          background-color: #8899AA;
          width: 10%;
          height: 80%;
          border: solid 1px black;
          border-top: none;
          padding: 0.5em 0.0em 0.5em 0.5em;

        }
        
        .content {
          background-color: #99AABB;
          height: 80%;
          border: solid black 1px;
          border-top: none;
          padding: 0.5em 0.0em 0.5em 3.0em;
        }
        
      </style>
        <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
        <title>Homepage</title>
    </head>
    <body>
      <div class="main">
        <div class="header">
          <h1>
            Head
          </h1>
        </div>
        <div class="sidebar">sidebar</div>
        <div class="content">content</div>
      </div>
    </body>
</html>

Zuerst hab ich Probiert dem main div einen border zu geben und den anderen Elementen nicht. Jedoch lässt er dann oben und unten Platz.
Das sei aber mal ein kleines Problem. Das größere Problem ist folgendes.
Wenn ich die css Einstellung so wie jetzt habe, zeigt mir firebug trotzdem an, dass der content Div 100% des main divs einnimmt.
Gibt es denn keine Möglichkeit dass der content div direkt neben der sidebar anfängt? (Denn 10% padding haut auch nicht vollständig hin)
Will halt, dass es eine runde Sache ist. Vielleicht hat da ja jemand Tipps für mich :) Danke schon einmal

Gilles
 
Du musst dem .main noch einen margin-left-Wert von mind. 10% (ohne Berücksichtigung von padding/border/margin) geben. Das entspricht der Breite deiner .sidebar, siehe Floatverhalten bei bei unterschiedlichen Browsern

Das weitere Problem ist, dass du unterschiedliche Einheiten für width, padding und boder verwendest, nämlich %, em und px.
Die kann CSS nicht auf einen gemeinsamen Nenner bringen.
Entweder verwendest du einheitliche Einheiten oder experimentierst/spekulierst, wie es hinhaut. Das Problem dabei sind die unterschiedlichen Fenstergrößen der Benutzer. Denn 10% von einer Fenstergröße von 1000px wären 100px. Ist das Fenster nur 800px breit, dann sind es lediglich 80px.
 
Vielen Dank. Hab habe nun deinen Vorschlag beherzigt und bin jetzt komplett auf die Einheit em umgestiegen. Sonst hat man zuviel rumprobiererei bis denn wirklich gut aussieht (Und vor allem auch in allen Browser funktioniert)
Danke nochmal. Problem gelöst :P
 
Zurück
Oben