|
|||
Frage zu float & clear, jetzt ohne Anhänge :-)
Hi und danke für eure Hilfe!
Ich beginne float zu verstehen In einer Vorlage bei CS3 ist der Quellcode: 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> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>Unbenanntes Dokument</title> <link href="thrColFixHdr.css" rel="stylesheet" type="text/css" /> <!--[if IE 5]> <style type="text/css"> /* Fügen Sie CSS-Box-Modell-Korrekturen für IE 5* in diesen bedingten Kommentar ein. */ .thrColFixHdr #sidebar1 { width: 180px; } .thrColFixHdr #sidebar2 { width: 190px; } </style> <![endif]--><!--[if IE]> <style type="text/css"> /* Fügen Sie CSS-Korrekturen für alle IE-Versionen in diesen bedingten Kommentar ein. */ .thrColFixHdr #sidebar2, .thrColFixHdr #sidebar1 { padding-top: 30px; } .thrColFixHdr #mainContent { zoom: 1; } /* Mit der obigen proprietären Zoom-Eigenschaft wird IE die Eigenschaft hasLayout zugewiesen, die zur Verhinderung verschiedener Fehler erforderlich ist. */ </style> <![endif]--></head> <body class="thrColFixHdr"> <div id="container"> <div id="header"> <h1>Kopfzeile</h1> <!-- end #header --></div> <div id="sidebar1"> <h3>Sidebar1-Inhalt</h3> <p>Die Hintergrundfarbe für dieses div wird nur für die Länge des Inhalts angezeigt. Sollten Sie eine Trennlinie bevorzugen, fügen Sie der CSS-Regel des entsprechenden Divs (#sidebar oder #mainContent) eine Rahmen-Eigenschaft hinzu. </p> <p>Donec eu mi sed turpis feugiat feugiat. Integer turpis arcu, pellentesque eget, cursus et, fermentum ut, sapien. </p> <!-- end #sidebar1 --></div> <div id="sidebar2"> <h3>Sidebar2-Inhalt</h3> <p>Die Hintergrundfarbe für dieses div wird nur für die Länge des Inhalts angezeigt. Sollten Sie eine Trennlinie bevorzugen, fügen Sie der CSS-Regel des entsprechenden Divs (#sidebar oder #mainContent) eine Rahmen-Eigenschaft hinzu. </p> <p>Donec eu mi sed turpis feugiat feugiat. Integer turpis arcu, pellentesque eget, cursus et, fermentum ut, sapien. </p> <!-- end #sidebar2 --></div> <div id="mainContent"> <h1> Hauptinhalt </h1> <p>Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Praesent aliquam, justo convallis luctus rutrum, erat nulla fermentum diam, at nonummy quam ante ac quam. Maecenas urna purus, fermentum id, molestie in, commodo porttitor, felis. Nam blandit quam ut lacus. Quisque ornare risus quis ligula. Phasellus tristique purus a augue condimentum adipiscing. Aenean sagittis. Etiam leo pede, rhoncus venenatis, tristique in, vulputate at, odio. Donec et ipsum et sapien vehicula nonummy. Suspendisse potenti. </p> <h2>H2-Überschrift </h2> <p>Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Praesent aliquam, justo convallis luctus rutrum, erat nulla fermentum diam, at nonummy quam ante ac quam. Maecenas urna purus, fermentum id, molestie in, commodo porttitor, felis. Nam blandit quam ut lacus. Quisque ornare risus quis ligula. Phasellus tristique purus a augue condimentum adipiscing. Aenean sagittis. Etiam leo pede, rhoncus venenatis, tristique in, vulputate at, odio.</p> <!-- end #mainContent --></div> <!-- Dieses clear-Element sollte direkt auf das #mainContent-div folgen, um das #container-div anzuweisen, alle untergeordneten Floats aufzunehmen. --><br class="clearfloat" /> <div id="footer"> <p>Fußzeile</p> <!-- end #footer --></div> <!-- end #container --></div> </body> </html> Rot markiert: <!-- Dieses clear-Element sollte direkt auf das #mainContent-div folgen, um das #container-div anzuweisen, alle untergeordneten Floats aufzunehmen. --><br class="clearfloat" /> Dass dies eine Erklärung für den folgenden Befehl <br class="clearfloat" /> ist, verstehe ich. Ich verstehe nicht a) die Erklärung und b) den Befehl br class="clearfloat" Das CSS lautet: Code:
@charset "utf-8"; body { font: 100% Verdana, Arial, Helvetica, sans-serif; background: #666666; 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; } .thrColFixHdr #container { width: 780px; /* Mit einer Breite, die 20 Pixel unter der vollen Breite von 800 Pixel liegt, können Sie dem Browser-Chrome Rechnung tragen und gleichzeitig eine horizontale Bildlaufleiste vermeiden. */ background: #FFFFFF; margin: 0 auto; /* Durch automatische Ränder (in Verbindung mit einer Breite) wird die Seite zentriert. */ border: 1px solid #000000; text-align: left; /* Hierdurch wird die Einstellung text-align: center im Body-Element aufgehoben. */ } .thrColFixHdr #header { background: #DDDDDD; padding: 0 10px 0 20px; /* 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. */ } .thrColFixHdr #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. */ } .thrColFixHdr #sidebar1 { float: left; /* Da es sich hier um ein floatendes Element handelt, muss eine Breite angegeben werden. */ width: 150px; /* Die tatsächliche Breite dieses div umfasst in standardgerechten Browsern bzw. im Standardmodus von Internet Explorer außer der Breite auch die Auffüllung und den Rahmen. */ background: #EBEBEB; /* Die Hintergrundfarbe wird nur für die Länge des Spalteninhalts angezeigt. */ padding: 15px 10px 15px 20px; /* Mit der Auffüllung wird gewährleistet, dass der Inhalt des div die Kanten nicht berührt. */ } .thrColFixHdr #sidebar2 { float: right; /* Da es sich hier um ein floatendes Element handelt, muss eine Breite angegeben werden. */ width: 160px; /* Die tatsächliche Breite dieses div umfasst in standardgerechten Browsern bzw. im Standardmodus von Internet Explorer außer der Breite auch die Auffüllung und den Rahmen. */ background: #EBEBEB; /* Die Hintergrundfarbe wird nur für die Länge des Spalteninhalts angezeigt. */ padding: 15px 10px 15px 20px; /* Mit der Auffüllung wird gewährleistet, dass der Inhalt des div die Kanten nicht berührt. */ } .thrColFixHdr #mainContent { margin: 0 200px; /* Der rechte und der linke Rand dieses div-Elements erstellen die beiden äußeren Spalten an den Seitenrändern. Der Spaltenbereich bleibt unabhängig von der Inhaltsmenge der Randleisten-divs immer gleich. Sie können diesen Rand entfernen, falls der Text des #mainContent-div die Randleistenbereiche füllen soll, wenn der Inhalt in den Randleisten endet. */ padding: 0 10px; /* padding (Auffüllung) bezeichnet den Innenabstand und margin (Rand) den Außenabstand der div -Box. */ } .thrColFixHdr #footer { padding: 0 10px 0 20px; /* Diese Auffüllung entspricht der linksbündigen Ausrichtung der Elemente in den divs, die darunter erscheinen. */ background:#DDDDDD; } .thrColFixHdr #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. */ } .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; } - body: warum wurde dieses CSS-Element angelegt? Ich kann doch die Schriftart in .thrColFixHdr #container definieren? - .fltrt: warum wurde dieses CSS-Element angelegt? - .fltlft: warum wurde dieses CSS-Element angelegt? - .clearfloat: warum wurde dieses CSS-Element angelegt? Vielen Dank für eure Hilfe & schöne Woche! Geändert von localex (20.11.2007 um 12:41 Uhr) Grund: Anhänge entfernt, Texte in Code eingefügt |
Sponsored Links |
|
|||
Wenn ich dich angesichts der Beispieldateien richtig verstehe, ist deine eigentliche Frage doch: "Was ist float?"
Wenn du in unsere FAQ guckst, findest du ein paar Links zu dem Thema. Zu der Frage, warum die Schrift in body definiert wurde und nicht im Kindelement: schwierig, ich denke, es ist so üblich. |
Sponsored Links |
Themen-Optionen | |
Ansicht | |
|
|
Ähnliche Themen | ||||
Thema | Autor | Forum | Antworten | Letzter Beitrag |
Frage zu horizontalen Linien | marvin1989 | CSS | 3 | 29.12.2009 23:35 |
CSS Text nebeinander? | carstiee09 | CSS | 13 | 13.11.2009 19:18 |
IE6, float, clear, divs - Valider Code? | thebrains_de | CSS | 1 | 28.08.2008 20:48 |
Mozilla zeigt DIV zu oft an | cracki | CSS | 6 | 09.03.2008 15:22 |
Frage zu float und "Aufspannen" eines Kastens | alfette | CSS | 2 | 11.08.2006 17:21 |