CSS Background-image-Verwendung

SLH3

Ensign
Registriert
Mai 2005
Beiträge
244
Hallo zämä,

habe da ein Problem bei meiner (zukünftigen) Homepage, auf welches ich immernoch keine Lösung gefunden habe.
Und zwar habe ich ein Background-Image, welches sich vom Header bis zum Footer durchzieht (repeat-y). Komischerweise wird die Länge jedoch nicht übers längste Div-Element in "content" bestimmt, sondern nur über die Länge von "sidebar" (siehe CSS-Code). D.h. wenn ich im Hauptfenster ("main_content") einen langen Inhalt habe, dann läuft er über die Seite raus.
Web-Adresse: http://gidoo.pytalhost.com/index.html (sry für Werbung).


-> Die Seite ist W3C geprüft (XHtml & CSS)
Am Einfachsten ist die Page mittels Entwicklerwerkzeuge zu kontrollieren (Opera Dragonfly und Firefox 'irgendwas'...)

und ich danke schon mal allen für eine Antwort - habe mir schon stundenlang den Kopf zerbrochen :(

HTML:
<head>


  <title>muster.org - Startseite</title>

  <!-- Diverses -->

  <link rel="stylesheet" type="text/css" href="css/layout.css" media="screen, projection, tv " />
  <link rel="stylesheet" type="text/css" href="css/html.css" media="screen, projection, tv " />

  
  <style type="text/css">

  </style>
</head>

<body>
<!-- #content: holds all except site footer - causes footer to stick to bottom -->

<div id="content" class="width background">
	<div id="content_left">
		<div id="mainmenu">
		<ul>
			<!-- Hauptmenu -->
					  
		</ul>
		</div>
		<div id="sidebar_left">
		
		<ul>
			<!-- Unter-Menu -->
		</ul>
		</div>
		
	</div>
	<div id="content_right">
	
		<!--#header_right: holds the right part of the header with logo & headerimage-->
		<div  id="header_right">
			<!-- Alles welches auf der "rechten" Seite des Headers ist -->
		  </div>
		  <!--#header_right end-->
		 <div id="main_content">
      
	

		  <!-- Start Post -->
				  <div class="post">
					<!-- Post 1 -->
				  </div>
				  <!-- End Post -->



				  <!-- Start Post -->
				  <div class="post">
					<!-- Post 2 -->
				  </div>
				  <!-- End Post -->

		</div>
	 </div>
</div>
 
<div style="clear:both;"></div>

<!-- #content end -->




<!-- #footer: holds the site footer (logo and links) -->
<div id="footer" class="width">
	<!-- footer -->
<!-- #footer end -->

</body>

</html>


Das CSS-File (habe auch hier gekürzt).

Code:
/*Allgemeine Breite */
	.width {
		display: block;
		width: 1180px;
		margin: 0 auto;
	}
	.width30 {
		width: 20%;
	}
	.width70{
		width: 77%;
	}
	
/* Hauptfenster */
	#content {

		position: relative;
		height: auto !important;
		min-height: 95%;		
		height: 100%; 
	}
	.background{
		background: url(../images/bg/page.gif) repeat-y top center;
		background-position: 48% 0;
	}
	
	/*Unterteilung der Seite in zwei Spalten (OBEN&UNTEN!) */
		#content_left {
			display: inline-block;
			width: 289px;
			margin: 0;
			padding: 0;
		}

		#content_right{
			display: inline-block;
			width : 784px;
			margin: 0;
			padding: 0;
			
		}
		
		
		/*Rechte Spalte OBEN (Header-Bild, RSS-Feed, Logo*/
			#header_right {
				position: absolute;
				top: 0px;
				width : 784px;	
				height : 306px;
				margin: 0;
				padding: 0;	
			}
			/*RSS-Feed begin*/
			#rssFeed {
				margin: 0 0 0 -4px;
				padding: 0;
				text-align: left;
				width : 711px;
				height : 65px;
				float: left;
				background: url(../images/bg/header.gif) repeat-x top right;
				color: #faa24b;
			}
			#rssFeed a{
				color: #faa24b;	
				text-decoration: none;
				border: 0;
			}
			#rss_pic {
				position: relative;
				left: 9pt;
				top: 4pt;
				height: 50px;
				border: 0;	
			}
			.rss_abo {
				position: relative;
				left: 14pt;
				top: -7pt;
				font: 14pt Verdana,Helvetica,Arial,sans-serif;
				text-decoration:none;
			}
			.clearbox {
				display: block;
				height: 0;
				clear: both;
			}
			/*RSS-Feed end*/
			/*logo - hier www.gidoo.ch*/
			#logo {
				position: relative;
				top: -27pt;
				float: right;
				width: 260px;
				font: 20pt Verdana,Helvetica,Arial,sans-serif;
				color: #fff;
			}
                                                /*usw...*/
		
		/*Linke Spalte OBEN (Hauptmenu)*/
		
			/*Hauptmenu begin*/
			#mainmenu {
				text-align : left;
				background-color: #5b5b5b;
				display: inline-block;
				margin: 0;
				width : 289px;
				height: 371px;
				vertical-align: top; 
			}
                                                /*usw...*/

			
			/*here == aktiv-Element für hover-Effekt*/
			#mainmenu ul li a:hover,
			#mainmenu ul li a.here {
				height: 58px;
				background: #0d0d0d;
				border-top: 7px solid #b10011;
			}
                                                /*usw...*/
			/*Hauptmenu end*/

			
		/*Linke Spalte UNTEN (Sidebar mit Untermenu) begin*/
		
			#sidebar_left {	
				font: 16pt Verdana,Helvetica,Arial,sans-serif;
				text-align: left;
				margin:0;
				width: 289px;
			}
                                                /*usw...*/
			
		/*LINKE Spalte end*/
			
		/*RECHTE Spalte UNTEN (Inhalt der Page) begin*/	
			
			#main_content{
				display: inline-block;
				padding: 5px 5px 5px 20px;
				position: absolute;
				top: 400px;
				vertical-align: top;
				width:665px;	
				height: 100%;
			}
		/*RECHTE Spalte end*/
			
		/*Footer (Login/Copyright) begin*/
			#footer {
				background: url(../images/bg/footer.gif) no-repeat top center;
				height: 58px;
				background-position: 48% 0;
				font: 10pt Verdana,Helvetica,Arial,sans-serif;
				color: #fff;
			}
                                                /*usw...*/			
		/*Footer end*/


Edit: Hier noch ein Foto von meinem Problem:

example.jpg
 
Zuletzt bearbeitet: (Foto angefügt)
mach mal für jede box einen ramen mit eigener farbe, dann siehst voran es liegt.
ich kann mir gut vorstellen dass eine der inneren boxen über die äußere box hinausläuft. is leider bei css so.
 
Grundsätzlich läuft die main_content-bock über die content-box rüber raus, obwohl es hierarchisch korrekt verschachtelt ist (content -> main_content). Aber wie kann man die Länge der content-box auf die länge von main_content anpassen?`Oder gehts das gar nicht mit css :(
 
das is im allgemeinen etwas nervig und tricky.
meistens hilft es wenn man in der hirachie nach der inneren box ein simples zeichen setzt.
also das letzte element der in der contenbox vorkommt sollt ein stink normales zeichen sein. meist hilft das.
 
Also das mit den Zeichen klappt bei mir leider nicht. Habe es überall vor/nach jedem div-element ausprobiert

Edit: Habe nachträglich auch noch einen container eingesetzt, funktioniert auch so nicht. (Mit/Ohne Zeichen)
 
also ich habe mir den quellcode gradmal zum testen geladen und muss feststellen:
1. der code kann gar nicht W3C valide sein.
da fehlt eine menge.
2. du bindest zwei css datein ein, stellst hier aber nur eine zur verfügung.
3. für mich ist nicht verständlich wo genau dein problem liegt, denn
dein screenshot stimmt nicht mit deiner verlinkten seite über ein.
edit: sehe grad das liegt daran das ich den firefox benutze....der IE macht das schon etwas lustiger...
du hast also ein IE problem

Der quellcode ist nicht ausreichend um des selber testen zu können.
ich könnt mir zwar alles selber von dir direkt runterladen
aber wenn du hilfe willst dann solltest du hier den vollständigen relevanten code posten.

ich würde dir mal Seflhtml.org ans herz legen.
da gibt es schon layouts die für beide Browser gut funktionieren
 
Zuletzt bearbeitet:
Hi,

nimm dir mal den Firefox und installiere dir firebug und/oder web-developer.

Mir haben die beiden kleinen Tools sehr geholfen. :cool_alt:
 
@andi-ri:
Hast du denn Quellcode von der Seite genommen oder denn von CB? Weil der von der Seite ist zu 100% valid! inkl. CSS - den von CB habe ich ja gekürzt (steht alles im ersten Post).
-> This document was successfully checked as XHTML 1.0 Strict!
Keine Angst, also xhtml&css behersche ich noch ;)

Edit: Ou.... shi*** - IE7 ist die Darstellung wirklich Mühl. Das letzte mal als ich mit Browsershot.org kontrolliert hatte, wars noch ok :( -> das gibt wohl wieder ein paar stunden arbeit ^^. IE8 funktioniert glaube ich noch (habe ich gestern nicht mehr getestet)

@herja:
ich verwende Opera-Dragonfly - ist das genau gleiche (in Opera integriert) und wirklich ganz schön nützlich. Aber den Fehler habe ich leider auch so nicht gefunden.
 
Zuletzt bearbeitet:
Du solltest das div main_content nicht absolut positionieren, da es so aus dem Textfluss genommen wird.
 
@Soccergamer: Du bist mein Held;) - es hat geklappt:p!
Und eigentlich ist der Fehler sogar recht logisch ...
 
Zurück
Oben