Header lässt sich nicht verschieben

Status
Nicht offen für weitere Antworten.

Foxgame

Mitglied
Ich hab hier ein problem bei meinem Aktuellen Hp projekt. Ich bin gerade dabei eine alte Homepage(aus verschiedenen Frames) in ein dreispalten Layout zu portieren nur leider lässt sich der header nicht so verschieben wie ich will. aktuell sieht es so aus:

aktuelldc0.jpg


und so sollte es aussehen (bitte beachtet das Schwarzweißbild einfach nicht denn das stellt kein Problem da bei der anpassung)

optimummk7.jpg


Hier hätte ich noch die CSS von dem Layout
Code:
<style type="text/css"> 
 
body  {
    font: 100% Verdana, Arial, Helvetica, sans-serif;
    background: #FDF6CB;
    margin: 0;
    /* Es empfiehlt sich, margin (Rand) und padding (Auffüllung) des Body-Elements auf 0 einzustellen, um unterschiedlichen Browser-Standardeinstellungen Rechnung zu tragen. */
    padding: 0;
    text-align: center;
    /* Hierdurch wird der Container in IE 5*-Browsern zentriert. Dem Text wird dann im #container-Selektor die Standardausrichtung left (links) zugewiesen. */
    color: #000000;
}

/* Tipps für dieses Mischlayout:
1. Da die in Gevierten (ems) angegebene Größe der seitlichen Spalten auf der Standardschriftgröße des Benutzers basiert, sollten Sie sich vergewissern, dass dies von den Hintergrundgrafiken in den Spalten berücksichtigt wird. Bei korrekter Verwendung hat dieses Layout für Personen, die größere Schriften benötigen, einen höheren Nutzwert, weil die Spaltenbreite proportional bleibt. Sollte dies in Ihrem Design unerwünscht sein, weisen Sie der Breite einfach eine Größe in Pixel zu, und ändern Sie die Ränder des #mainContent-div entsprechend.
2. Die Größe der seitlichen Spalten in diesem Layout basiert auf der Originalschriftgröße (100%) im Body-Element. Wenn Sie also die Größe der Textzeichen mithilfe der Einstellung font-size: 80% im Body-Element oder im #container global ändern, werden die Spaltenbreiten proportional verringert. Sie sollten die Breite der Spalten und die Größe der seitlichen Ränder des #mainContent-div vergrößern, um hierfür einen Ausgleich zu schaffen.
3. Wenn Sie in den einzelnen divs unterschiedliche Werte für die Schriftgröße angegeben, anstatt die Schriftgröße im Design global zu ändern (z. B. wenn #sidebar1 die Schriftgröße 70% zugewiesen wird und #mainContent die Größe 85%), so wird die Gesamtgröße der einzelnen divs proportional geändert. Sie sollten anhand der endgültig gewählten Schriftgröße entsprechende Anpassungen vornehmen.
4. Dem #container-div muss in diesem Layout keine 100%-ige Breite zugewiesen werden. Sie können sie zum Erstellen von Scheinspalten oder zum Einschränken der Breite des Layouts verwenden.
5. Die Breite des #container-div muss nicht auf 100% eingestellt werden, da ein div grundsätzlich 100% des verfügbaren Platzes einnimmt. Dieser Wert wird hier für den Fall angegeben, dass Sie die Größe des Gesamtcontainers verringern (und eventuell einen schmalen Rand an beiden Seiten lassen) möchten. Sie müssen dann lediglich die gewünschte Anpassung vornehmen.
*/
.thrColHybHdr #container {
    width: 100%;
    background: #FDF6CB;
    /*margin: 0 auto;  Durch automatische Ränder (in Verbindung mit einer Breite) wird die Seite bei Bedarf zentriert. */
    text-align: left; /* Hierdurch wird die Einstellung text-align: center im Body-Element überschrieben. */
    top: 15px;
    }  
    
.thrColHybHdr #header { 
    background: #FDF6CB; 
    padding: 0 0px;
    
    /* Diese Auffüllung entspricht der linksbündigen Ausrichtung der Elemente in den divs, die darunter erscheinen. Wenn im #header anstelle von Text ein Bild eingesetzt wird, sollten Sie die Auffüllung entfernen. */
} 
.thrColHybHdr #header h1 {
    margin: 0; /* Wenn Sie den Rand des letzten Elements im #header-div auf 0 einstellen, können Sie das Auftreten unerwarteter Abstände zwischen divs vermeiden. Wenn das div einen Rahmen hat, ist dies unnötig, weil dieser Rahmen die gleiche Wirkung hat. */
    padding: 10px 0; /* Durch die Verwendung der Auffüllung anstelle von Rändern lässt sich gewährleisten, dass das Element die Kanten des div nicht berührt. */
    top: 100px;
}

/* Tipps für sidebar1:
1. Wenn Sie für dieses div eine Schriftgröße festlegen, wird die Gesamtbreite des div entsprechend angepasst.
2. Da wir mit Gevierten (ems) arbeiten, ist es empfehlenswert, für die Randleiste selbst keine Auffüllung zu verwenden. Sie wird bei standardgerechten Browsern der Breite hinzugefügt, und dies wiederum führt zu einer unbekannten tatsächlichen Breite. 
3. Zwischen der Kante des div und den darin liegenden Elementen kann ein Abstand eingefügt werden, indem Sie diesen Elementen wie in ".thrColHybHdr #sidebar1 p" demonstriert einen linken und rechten Rand zuweisen.
*/
.thrColHybHdr #sidebar1 {
    float: left; 
    width: 11em; /* Da es sich hier um ein floatendes Element handelt, muss eine Breite angegeben werden. */
    background: #FDF6CB; /* Die Hintergrundfarbe wird nur für die Länge des Spalteninhalts angezeigt. */
    padding: 15px 0; /* Durch die Auffüllung oben und unten entsteht in diesem div ein visueller Leerraum. */
}
.thrColHybHdr #sidebar2 {
    float: right; 
    width: 11em; /* Da es sich hier um ein floatendes Element handelt, muss eine Breite angegeben werden. */
    background: #FDF6CB; /* Die Hintergrundfarbe wird nur für die Länge des Spalteninhalts angezeigt. */
    padding: 15px 0; /* Durch die Auffüllung oben und unten entsteht in diesem div ein visueller Leerraum. */
}
.thrColHybHdr #sidebar1 h3, .thrColHybHdr #sidebar1 p, .thrColHybHdr #sidebar2 p, .thrColHybHdr #sidebar2 h3 {
    margin-left: 10px; /* Für jedes Element, das in den seitlichen Spalten platziert wird, sollten ein linker und ein rechter Rand angegeben werden. */
    margin-right: 10px;
}

/* Tipps für mainContent:
1. Wenn Sie diesem #mainContent-div nicht denselben Schriftgrößenwert wie dem #sidebar1-div zuweisen, basieren die Ränder des #mainContent div auf der Schriftgröße des #mainContent-div, und die Breite des #sidebar1-div basiert auf der Schriftgröße des #sidebar1-div. Sie sollten die Werte dieser divs anpassen.
2. Der Abstand zwischen mainContent und sidebar1 entsteht durch den linken Rand des mainContent-div. Der Spaltenbereich bleibt unabhängig von der Inhaltsmenge des sidebar1-div immer gleich. Sie können diesen linken Rand entfernen, falls der Text des #mainContent-div den Bereich von #sidebar1 füllen soll, wenn der Inhalt in #sidebar1 endet.
3. Zur Vermeidung von Float-Drops müssen Sie gegebenenfalls die ungefähre maximale Bild-/Elementgröße anhand eines Tests ermitteln, weil dieses Layout auf der vom Benutzer angegebenen Schriftgröße und den von Ihnen festgelegten Werten basiert. Wenn der Benutzer die Browser-Schriftgröße aber auf einen Wert eingestellt hat, der unter dem Normalwert liegt, steht im #mainContent-div weniger Platz zur Verfügung als beim Test erkennbar.
4. Im unten stehenden bedingten Kommentar für Internet Explorer wird die Zoom-Eigenschaft verwendet, um mainContent die Eigenschaft hasLayout zuzuweisen. Dadurch wird das potenzielle Auftreten verschiedener IE-spezifischer Fehler verhindert.
*/
.thrColHybHdr #mainContent {
     margin: 0 12em 0 12em; /* Der rechte Rand kann in Gevierten (ems) oder Pixel angegeben werden. Durch ihn entsteht der Abstand am rechten Seitenrand. */ 
    padding: 0 2em 0 2em; /* Durch die Auffüllung entsteht hier ein Leerraum innerhalb der Box. */
    
    top: 150 px;
    } 
.thrColHybHdr #footer { 
    padding: 0 10px; /* Diese Auffüllung entspricht der linksbündigen Ausrichtung der Elemente in den divs, die darunter erscheinen. */
    background:#FDF6CB;
} 
.thrColHybHdr #footer p {
    margin: 0; /* Wenn Sie die Ränder des ersten Elements in der Fußzeile auf 0 einstellen, können Sie unerwartete Abstände zwischen divs vermeiden. */
    padding: 10px 0; /* Durch die Verwendung der Auffüllung bei diesem Element entsteht genau wie bei einem Rand ein Leerraum, aber ohne die potenziellen Abstandsprobleme. */
}

/* Verschiedene wieder verwertbare Klassen */
.fltrt { /* Mit dieser Klasse können Sie ein Element auf der Seite nach rechts fließen lassen. Das floatende Element muss vor dem Element stehen, neben dem es auf der Seite erscheinen soll. */
    float: right;
    margin-left: 8px;
}
.fltlft { /* Mit dieser Klasse können Sie ein Element auf der Seite nach links fließen lassen. */
    float: left;
    margin-right: 8px;
}
.clearfloat { /* Diese Klasse sollte in einem div- oder break-Element platziert werden und das letzte Element vor dem Schließen eines Containers sein, der wiederum einen vollständigen Float enthalten sollte. */
    clear:both;
    height:0;
    font-size: 1px;
    line-height: 0px;
}
 
</style>[if IE]>
<style type="text/css"> 
/* Fügen Sie CSS-Korrekturen für alle IE-Versionen in diesen bedingten Kommentar ein. */
.thrColHybHdr #sidebar1, .thrColHybHdr #sidebar2 { padding-top: 30px; }
.thrColHybHdr #mainContent {
    zoom: 1;
    padding-top: 15px;
    top: 50cm;
}
/* Mit der obigen proprietären Zoom-Eigenschaft wird IE die Eigenschaft hasLayout zugewiesen, die zur Verhinderung verschiedener Fehler erforderlich ist. */
</style>
<![endif]
Danke schon im Voraus grüße

Foxgame
 
Hi,

zu allen top-Deklarationen, die ich im Stylesheet entdecke, fehlt eine Angabe zur Positionsart (relative oder absolute), denn ohne sie greifen die Angaben zur Startposition (hier: von oben) überhaupt nicht.

mfg Maik
 
Status
Nicht offen für weitere Antworten.

Neue Beiträge

Zurück