CSS Div Positionen

Status
Nicht offen für weitere Antworten.

Binio

Erfahrenes Mitglied
Hallo Leute ich bin kurz vorm Durchdrehen.
Ich sitze mehrere Stunden an dem blöden Layout und die ... Div-Boxen wollen nicht sie ich es will.
Im Anhang kann man sich ein kleines Bild machen das ich erreichen will.
Aber irgentwie klappt das alles nicht.
Mein bisher erreichter Quelltext:
PHP:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
       "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<title>Zweispaltiges Layout mit fester Breite</title>
<style type="text/css">
  body {
	background-color: #a8b65f;
	color: black;
	font-size: 100.01%;
	font-family: Helvetica,Arial,sans-serif;
	margin: 0;
	padding: 1em 0;
	text-align: center;  /* Zentrierung im Internet Explorer */
  }

  div#Seite {
    background-image: url(bg.jpg);
    text-align: left;    /* Seiteninhalt wieder links ausrichten */
    margin: 0 auto;      /* standardkonforme horizontale Zentrierung */
    width: 1024px;
    height:815px;
  }
  html>body div#Seite {
    border-color: gray;  /* Farbangleichung an den Internet Explorer  */
  }

  ul#Navigation {
	margin-top: 500px;
	margin-left: 40px;
	padding: 0px;
	width: 120px;
	border: 1px dashed silver;
	font-size: 10px;
	float: left;
  }
  ul#Navigation li {
	list-style: none;
	margin: 0;
	padding: 4px;
  }
  ul#Navigation a {
	display: block;
	padding: 2px;
	font-weight: bold;
  }
  ul#Navigation a:link {
    color: black; background-color: #eee;
  }
  ul#Navigation a:visited {
    color: #666; background-color: #eee;
  }
  ul#Navigation a:hover {
    color: black; background-color: white;
  }
  ul#Navigation a:active {
    color: white; background-color: gray;
  }

  div#Inhalt {
	position: relative;
	margin-top: 200px;
	margin-left: 420px;
	padding: 0 1em;
	border: 1px dashed silver;
  }
  div#Inhalt h1 {
    font-size: 1.5em;
    margin: 0 0 1em;
  }
  div#Inhalt h2 {
    font-size: 1.2em;
    margin: 0 0 1em;
  }
  div#Inhalt p {
    font-size:1em;
    margin: 1em 0;
  }
</style>
</head>
<body>

<div id="Seite">
  <ul id="Navigation">
    <li><a href="einfuehrung.htm">Einführung in CSS-basierte Layouts</a></li>
    <li><a href="mehrspaltige.htm">Mehrspaltige CSS-basierte Layouts</a></li>
    <li><a href="fixbereiche.htm">Fixe Bereiche mit CSS-basierten Layouts</a></li>
    <li><a href="navigationsleisten.htm">CSS-basierte Navigationsleisten</a></li>
    <li><a href="browserweichen.htm">CSS-Browserweichen</a></li>
  </ul>

  <div id="Inhalt">
    <h1>CSS-basierte Layouts</h1>
    <h2>Seite mit fester Breite</h2>
    <p>Diese Seite ist hat eine feste Breite von 760px und ist zentriert.</p>
    <p>Die Breite ist so gewählt, dass in 800px breiten Fenstern nicht horizontal
       gescrollt werden muss und auch ein Ausdruck keine Probleme bereiten sollte.</p>
  </div>
</div>

</body>
</html>
Das Rote Feld ist im Grunde meine Fläche auf der ich arbeiten will(Es ist ein Hintergrundbild). Diese Rote Fläche soll Zentriert angezeigt werden.
Das Grüne Feld ist meine Navigationsbox wo ich per ul und li die Links angebe.
Das Blaue wird dann der Inhalt. Wenn der aber der text vom der Inhalt-Box zu groß wird soll ein scrollbar entsehen.
Im Grunde nicht schwer oder... aber ich bekomme meine Inhalt-Box nicht unter gesetzt.
Wenn ich margin-top:200px; mache verschiebt sich alles runter.
Ich denke auch das ich im Navigationsbereich was falsche mache da ich da keine Div-Box nutze. Aber mit 2 Boxen habe ich das überhaupt nicht hinbekommen.
Ich bin wirklich kurz davor alles aus den Fenster zu werfen.
Ich weiß aber das Ihr die Ruhe und die Kentnisse habt :)
Mir wurde hier schon so oft geholfen und ich bin guter Hoffnung das es auch heute so sein wird :)
Alles Liebe und vieln dank im vorraus,
ich gehe mir jetzt erstmal ein Kaffee trinken damit ich wieder runter komme.


Rob
 

Anhänge

  • bsp.jpg
    bsp.jpg
    5,4 KB · Aufrufe: 34
Hi,

vielleicht bringt dich das Stylesheet und HTML-Markup deinem Ziel ein Stück näher?

Code:
div#Menue {
    float: left;
    margin-top: 500px;
    width: 240px;
    height: 290px;
    margin-left: 160px !important;
    margin-left: 80px;
    padding: 0px;
    border: 1px dashed silver;
    font-size: 10px;
  }
  ul#Navigation {
    list-style: none;
    margin: 0;
    padding: 0;
  }
  ul#Navigation li {
     display: inline;
  }

div#Inhalt {
    position: relative;
    float: right;
    top: 200px;
    width: 550px;
    height: 590px;
    overflow: auto;
    margin-right: 20px !important;
    margin-right: 10px;
    padding: 0 1em;
    border: 1px dashed silver;
  }
Code:
<div id="Seite">
     <div id="Menue">
          <ul id="Navigation">
              ...
          </ul>
     </div>

     <div id="Inhalt"> ... </div>
</div>
 
Ich glaube es nicht das ich so kurz davor war :)
Anstatt margin-top sollte ich einfach top nutzen :)
Das du 2 x margin-left nutzt ist wohl ein Tipps fehler oder ?


PHP:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" 
       "http://www.w3.org/TR/html4/strict.dtd"> 
<html> 
<head> 
<title>Zweispaltiges Layout mit fester Breite</title> 
<style type="text/css"> 
  body { 
    background-color: #a8b65f; 
    color: black; 
    font-size: 100.01%; 
    font-family: Helvetica,Arial,sans-serif; 
    margin: 0; 
    padding: 1em 0; 
    text-align: center;  /* Zentrierung im Internet Explorer */ 
  } 

  div#Seite { 
    background-image: url(bg.jpg); 
    text-align: left;    /* Seiteninhalt wieder links ausrichten */ 
    margin: 0 auto;      /* standardkonforme horizontale Zentrierung */ 
    width: 1024px; 
    height:815px; 
  } 
  html>body div#Seite { 
    border-color: gray;  /* Farbangleichung an den Internet Explorer  */ 
  } 

ul#Navigation {
    margin-top: 500px;
    margin-left: 40px;
    padding: 0px;
    width: 120px;
    border: 1px dashed silver;
    font-size: 10px;
    float: left;
  }

  ul#Navigation li { 
    list-style: none; 
    margin: 0; 
    padding: 4px; 
  } 
  ul#Navigation a { 
    display: block; 
    padding: 2px; 
    font-weight: bold; 
  } 
  ul#Navigation a:link { 
    color: black; background-color: #eee; 
  } 
  ul#Navigation a:visited { 
    color: #666; background-color: #eee; 
  } 
  ul#Navigation a:hover { 
    color: black; background-color: white; 
  } 
  ul#Navigation a:active { 
    color: white; background-color: gray; 
  } 

  div#Inhalt {
    position: relative;
    top: 200px;
    margin-left: 420px;
    height: 560px;
    padding: 0 1em;
    border: 1px dashed silver;
    overflow: auto;
  }
  div#Inhalt h1 { 
    font-size: 1.5em; 
    margin: 0 0 1em; 
  } 
  div#Inhalt h2 { 
    font-size: 1.2em; 
    margin: 0 0 1em; 
  } 
  div#Inhalt p { 
    font-size:1em; 
    margin: 1em 0; 
  } 
</style> 
</head> 
<body> 

<div id="Seite"> 
  <ul id="Navigation"> 
    <li><a href="einfuehrung.htm">Einführung in CSS-basierte Layouts</a></li> 
    <li><a href="mehrspaltige.htm">Mehrspaltige CSS-basierte Layouts</a></li> 
    <li><a href="fixbereiche.htm">Fixe Bereiche mit CSS-basierten Layouts</a></li> 
    <li><a href="navigationsleisten.htm">CSS-basierte Navigationsleisten</a></li> 
    <li><a href="browserweichen.htm">CSS-Browserweichen</a></li> 
  </ul> 

  <div id="Inhalt"> 
    <h1>CSS-basierte Layouts</h1> 
    <h2>Seite mit fester Breite</h2> 
    <p>Diese Seite ist hat eine feste Breite von 760px und ist zentriert.</p> 
    <p>Die Breite ist so gewählt, dass in 800px breiten Fenstern nicht horizontal 
       gescrollt werden muss und auch ein Ausdruck keine Probleme bereiten sollte.</p> 

  </div> 
</div> 

</body> 
</html>
Und es klappt alles so wie ich es möchte
 
Nein, das war kein Tippfehler.

In meinem Lösungsvorschlag habe ich mit Hilfe der !important-Regel den "Double-Margin-Bug" im IE gefixt:

Code:
div#Menue {
    float: left;
    margin-top: 500px;
    width: 240px;
    height: 290px;
    margin-left: 160px !important; /* Für moderne Browser */
    margin-left: 80px; /* Für IE */
    padding: 0px;
    border: 1px dashed silver;
    font-size: 10px;
  }

div#Inhalt {
    position: relative;
    float: right;
    top: 200px;
    width: 550px;
    height: 590px;
    overflow: auto;
    margin-right: 20px !important; /* Für moderne Browser */
    margin-right: 10px; /* Für IE */
    padding: 0 1em;
    border: 1px dashed silver;
  }
 
Status
Nicht offen für weitere Antworten.
Zurück