tutorials.de Buch-Aktion 05/2012
Seite 1 von 2 12 LetzteLetzte
ERLEDIGT
JA
ANTWORTEN
23
ZUGRIFFE
830
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    rambo rambo ist offline Mitglied Silber
    Registriert seit
    Sep 2009
    Beiträge
    64
    Hallo,

    ich versuche in moment von meiner Website die Tabellen im Layout zu entfernen.

    Ich habe ein Beispiel angefertigt:

    HTML-Code:
    <?xml version="1.0" ?>
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    	<head>
    		<style type="text/css">
    			html, body {
    				height: auto;
    				}
    			body {
    				background-color: #000000;
    				color: #FF0000;
    				}
    			div.mydiv {
    				border: 1px #000000 solid;
    				height: auto;
    				background-color: #FFFFFF;
    				}
    		</style>
    	</head>
    	<body>
    		<div class="mydiv">
    			<div style="float: left;">
    				<br />
    				<br />
    				<br />
    				<br />
    				<br />
    				<br />
    				<br />
    				<br />
    				<br />
    				<br />
    				<br />
    				<br />
    				<br />
    				<br />
    				<br />
    				<br />
    				<br />
    				<br />
    				<br />
    				<br />
    				<br />
    				<br />
    				<br />
    				<br />
    				<br />
    				<br />
    				<br />
    				<br />
    				<br />
    				<br />
    				<br />
    				<br />
    				<br />
    				<br />
    				<br />
    				<br />
    				<br />
    				<br />
    				<br />
    				<br />test
    				<br />test
    				<br />test
    				<br />test
    				<br />test
    				<br />test
    				<br />test
    				<br />test
    				<br />test
    				<br />test
    				<br />test
    				<br />test
    				<br />test
    				<br />test
    				<br />test
    				<br />test
    				<br />test
    				<br />test
    				<br />test
    			</div>
    			<div style="float: right;">
    				r
    			</div>
    		</div>
    	</body>
    </html>
    Die Block-Elemente mit "float" haben nun keine Auswirkungen in der Höhe auf das Mutterelement. Da aber mein Div die Hintergrundfarbe Weiß haben soll und der Body Schwarz bleiben soll kann ich das so nicht lassen...

    Wie erreiche ich jetzt, dass die Block-Elemente Auswirkungen in der Höhe auf das Mutterelement haben?

    Danke im Voraus...
     

  2. #2
    Maik Tutorials.de Gastzugang
    Moin,

    Webmaster FAQ -> [CSS] Warum passt sich die Boxenhöhe nicht dem Inhalt an?

    Merke: Wo gefloatet wird, muß auch gecleart werden.

    mfg Maik
     

  3. #3
    rambo rambo ist offline Mitglied Silber
    Registriert seit
    Sep 2009
    Beiträge
    64
    Ok, Danke, ich habe es noch en bischen verändert, so wie ich es ungefähr einsetzten würde. Würde es auch so noch funktionieren?

    HTML-Code:
    <?xml version="1.0" ?>
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    	<head>
    		<style type="text/css">
    			div.wrapper {
    				width: 500px;
    				margin: 0px auto;
    				}
    			div.content {
    				background: #F8F8FF;
    				border: 1px solid #000;
    				min-height: 200px;
    				height: auto !important;
    				height: 200px;
    				display: inline-block;
    				}
    			div.left_column {
    				float: left;
    				width: 245px;
    				}
    			div.right_column {
    				float: right;
    				width: 245px;
    				}
    			div.content:after {
    				content: ".";
    				display: block;
    				height: 0;
    				font-size: 0;
    				clear: both;
    				visibility: hidden;
    				}
    			/* Hides from IE-mac \*/
    			* html div.content {
    				height: 1%;
    				}
    			div.content {
    				display: block;
    				}
    			/* End hide from IE-mac */
    
    
    			/* Wird spaeter nicht mehr gebraucht... */
    			p {
    				margin: 0px;
    				padding: 0px 10px;
    				}
    		</style>
    	</head>
    	<body>
    		<div class="wrapper">
    			<div class="content">
    				<div class="left_column">
    					<p>leftColumn_content</p>
    					<p>leftColumn_content</p>
    					<p>leftColumn_content</p>
    					<p>leftColumn_content</p>
    					<p>leftColumn_content</p>
    					<p>leftColumn_content</p>
    					<p>leftColumn_content</p>
    					<p>leftColumn_content</p>
    					<p>leftColumn_content</p>
    					<p>leftColumn_content</p>
    					<p>leftColumn_content</p>
    					<p>leftColumn_content</p>
    					<p>leftColumn_content</p>
    					<p>leftColumn_content</p>
    					<p>leftColumn_content</p>
    				</div>
    				<div class="right_column">
    					<p>rightColumn_content</p>
    					<p>rightColumn_content</p>
    					<p>rightColumn_content</p>
    					<p>rightColumn_content</p>
    					<p>rightColumn_content</p>
    					<p>rightColumn_content</p>
    					<p>rightColumn_content</p>
    					<p>rightColumn_content</p>
    					<p>rightColumn_content</p>
    					<p>rightColumn_content</p>
    					<p>rightColumn_content</p>
    					<p>rightColumn_content</p>
    					<p>rightColumn_content</p>
    				</div>
    			</div>
    		</div>
    	</body>
    </html>
    Ist das "/* Hides from IE-mac \*/" und das "/* End hide from IE-mac */" dringend erforderlich oder kann ich es entfernen? Und ist diese Möglichkeit mit CSS und den Divs kompatibler, als mein altes Tabellen-Konstrukt?
     

  4. #4
    Maik Tutorials.de Gastzugang
    Jo, so funktioniert es auch.

    Die Kommentare mußt du so übernehmen, damit der IE unter Mac die darin enthaltenden Regeln nicht interpretiert.

    Was soll denn deiner Meinung nach an diesem Konzept gegenüber einem Tabellenlayout nicht kompatibel sein?

    mfg Maik
     

  5. #5
    rambo rambo ist offline Mitglied Silber
    Registriert seit
    Sep 2009
    Beiträge
    64
    Ich weiß es nicht. Es gibt ja immer Probleme, die ein Browser macht...

    Ich habe es nochmal angepasst:
    HTML-Code:
    <?xml version="1.0" ?>
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    	<head>
    		<style type="text/css">
    			div.wrapper {
    				width: 800px;
    				margin: 0px auto;
    				background: #F8F8FF;
    				border-left: 1px #00000 solid;
    				border-right: 1px #00000 solid;
    				padding: 0px;
    				}
    			div.content {
    				background: #F8F8FF;
    				min-height: 200px;
    				height: auto !important;
    				height: 200px;
    				display: inline-block;
    				padding: 0px;
    				margin: 0px;
    				}
    			div.left_column {
    				float: left;
    				width: 150px;
    				}
    			div.right_column {
    				float: right;
    				width: 650px;
    				}
    			div.content:after {
    				content: ".";
    				display: block;
    				height: 0px;
    				font-size: 0px;
    				clear: both;
    				visibility: hidden;
    				}
    			/* Hides from IE-mac \*/
    			* html div.content {
    				height: 1%;
    				}
    			div.content {
    				display: block;
    				}
    			/* End hide from IE-mac */
    
    
    			/* Wird spaeter nicht mehr gebraucht... */
    			p {
    				margin: 0px;
    				padding: 0px 10px;
    				}
    
    			body {
    				background-image: url(http://www.op-game.de/images/styles/bg_default.png);
    				background-repeat: repeat-x;
    				padding: 0px;
    				margin: 0px;
    				background-color: #000000;
    				}
    			html, body, div.wrapper {
    				height: 100%;
    				}
    			div.head {
    				width: 800px;
    				padding: 0px;
    				margin: 0px;
    				height: 200px;
    				border-bottom: 1px #000000 solid;
    				}
    		</style>
    	</head>
    	<body>
    		<div class="wrapper">
    			<div class="content">
    				<div class="head">
    					Head
    				</div>
    				<div class="left_column">
    					<p>leftColumn_content</p>
    					<p>leftColumn_content</p>
    					<p>leftColumn_content</p>
    					<p>leftColumn_content</p>
    					<p>leftColumn_content</p>
    					<p>leftColumn_content</p>
    					<p>leftColumn_content</p>
    					<p>leftColumn_content</p>
    					<p>leftColumn_content</p>
    					<p>leftColumn_content</p>
    					<p>leftColumn_content</p>
    					<p>leftColumn_content</p>
    					<p>leftColumn_content</p>
    					<p>leftColumn_content</p>
    					<p>leftColumn_content</p>
    				</div>
    				<div class="right_column">
    					<p>rightColumn_content</p>
    					<p>rightColumn_content</p>
    					<p>rightColumn_content</p>
    					<p>rightColumn_content</p>
    					<p>rightColumn_content</p>
    					<p>rightColumn_content</p>
    					<p>rightColumn_content</p>
    					<p>rightColumn_content</p>
    					<p>rightColumn_content</p>
    					<p>rightColumn_content</p>
    					<p>rightColumn_content</p>
    					<p>rightColumn_content</p>
    					<p>rightColumn_content</p>
    				</div>
    			</div>
    		</div>
    	</body>
    </html>
    Nun wird aber der Border von "wrapper" nur so groß, wie der Body, wenn der Seiteninhalt so groß wird, dass eine Scrollbar kommt. Man erkennt das zwar nicht, da der hintergrund nach unten hin schwarz wird, aber wenn ich Hintergrund mal Weiß mache sieht das komisch aus.
     

  6. #6
    Maik Tutorials.de Gastzugang
    Das liegt hieran:
    Code css:
    1
    2
    3
    
    html, body, div.wrapper {
                    height: 100%;
                    }

    Für .wrapper muß die Regel aber so lauten:
    Code css:
    1
    2
    3
    4
    5
    
    div.wrapper {
    min-height:100%; /* Mindesthöhe in standardkonformen Browser */
    height:auto !important; /* auto-height mit !important-Regel für standardkonforme Browser, damit sie die nachfolgende height-Angabe ignorieren  */
    height:100%; /* "Mindesthöhe" in IE6 */
    }

    mfg Maik
     

  7. #7
    rambo rambo ist offline Mitglied Silber
    Registriert seit
    Sep 2009
    Beiträge
    64
    Code css:
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    
    /* [...] */
    html, body {
        height: 100%;
        }
    div.wrapper {
        min-height: 100%;
        height: auto !important;
        height: 100%;
        }
    div.head {
        width: 800px;
        padding: 0px;
        margin: 0px;
        height: 200px;
        border-bottom: 1px #000000 solid;
        }

    Hmm, funktioniert nicht
     

  8. #8
    Maik Tutorials.de Gastzugang
    Kann auch nicht, denn einen fünfstelligen Hexidezimal-Farbwert gibt es nicht.

    mfg Maik
     

  9. #9
    rambo rambo ist offline Mitglied Silber
    Registriert seit
    Sep 2009
    Beiträge
    64
    Ok, es hat sich erledigt.

    Danke für deine Hilfe, ich hätte mal früher in deine Signatur schauen sollen, da ist genau das drin, was ich brauche: http://www.tutorials.de/forum/css-tu...100-hoehe.html

    Ich habe einfach die Center-Spalte entfernt.

    Danke, danke, danke!
     

  10. #10
    Maik Tutorials.de Gastzugang
    Zitat Zitat von rambo Beitrag anzeigen
    ich hätte mal früher in deine Signatur schauen sollen, da ist genau das drin, was ich brauche: http://www.tutorials.de/forum/css-tu...100-hoehe.html
    Hättest du dein Vorhaben eingangs deines Themas erwähnt, hätte ich dich auch direkt auf mein Tutorial aufmerksam gemacht

    mfg Maik
     

  11. #11
    rambo rambo ist offline Mitglied Silber
    Registriert seit
    Sep 2009
    Beiträge
    64
    Ok, es gibt noch einen kleinen Bug in diesem Layout. Bei mir ist es auch manchmal der Fall, dass die Meunübar sehr groß wird. Wenn diese aber zu groß ist wird sie vom Footer bedeckt.

    Edit: Das passiert auch manchmal mit der rechten Box, bei Tabellen...

    Edit²: Ich habe einfach noch einen Leeren Div, mit der Höhe 100px, als letztes im den beiden Boxen gesetzt, ich glaube es lag an dem extrem Hohen Footer.
    Geändert von rambo (07.02.10 um 13:33 Uhr)
     

  12. #12
    Maik Tutorials.de Gastzugang
    In meinen Beispielen (3cols_header_footer.htm, 3cols_header_topNavi_footer.htm) findet sich hierfür diese Regel:

    Code css:
    1
    2
    3
    
    div#leftCol, div#rightCol, div#centerCol {
    padding-bottom: 25px;
    }

    Der untere Innenabstand für die drei Spaltenblöcke orientiert sich an der Höhe des Footers.

    mfg Maik
     

  13. #13
    rambo rambo ist offline Mitglied Silber
    Registriert seit
    Sep 2009
    Beiträge
    64
    Ooops, stimmt, muss ich wohl ausversehen entfernt haben, sorry.
     

  14. #14
    rambo rambo ist offline Mitglied Silber
    Registriert seit
    Sep 2009
    Beiträge
    64
    Ich habe doch noch ein Problem:

    Netscape 7.1 zeigt das Layout nicht richtig an:
    http://op-game.de/netscape.png

    Ich habe es jetzt auf folgenden Browsern ausprobiert:
    Firefox
    Internet Explorer
    Opera
    Google Chrome
    Safari

    Auf denen läuft es perfekt.
     

  15. #15
    Maik Tutorials.de Gastzugang
    Zitat Zitat von rambo Beitrag anzeigen
    Ich habe doch noch ein Problem:

    Netscape 7.1 zeigt das Layout nicht richtig an:
    http://op-game.de/netscape.png

    Ich habe es jetzt auf folgenden Browsern ausprobiert:
    Firefox
    Internet Explorer
    Opera
    Google Chrome
    Safari

    Auf denen läuft es perfekt.
    Der aktuelle NN 9.x zeigt die Seite (aus meinem Tutorial) auch korrekt an.

    mfg Maik
     

Ähnliche Themen

  1. Komplexes Tabellen Layout zu CSS Layout
    Von Danielku15 im Forum CSS
    Antworten: 10
    Letzter Beitrag: 10.07.08, 23:55
  2. Antworten: 2
    Letzter Beitrag: 15.07.06, 17:31
  3. Layout Problem - 2 SQL Tabellen
    Von WACSF im Forum PHP
    Antworten: 12
    Letzter Beitrag: 01.11.04, 19:59
  4. Layout mit Tabellen und PHP
    Von tittli im Forum PHP
    Antworten: 16
    Letzter Beitrag: 03.09.04, 19:18
  5. Abstände in Tabellen-Layout
    Von johnjdoe im Forum HTML & XHTML
    Antworten: 2
    Letzter Beitrag: 05.02.04, 14:09