Solved

Why containing div doesn't stretch?

Posted on 2007-11-18
2
3,063 Views
Last Modified: 2012-06-21
I have a page with a container div that holds a content div. What I don't understand is why doesn't the container div stretch and show the background color to the bottom of the content div? It stops half way down the page? Scaled down code sample provided? I want the container to stretch dynamically depending on the height of the content div. Why isn't it doing that?
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">

<html xmlns="http://www.w3.org/1999/xhtml">

<style>

	*{margin:0; padding:0}

	body{

	 	font-family: Verdana, Ariel, Sans-Serif;

	 	font-size: 12px;

	 	color: #5A5A5A;

	 	margin: 0;

     	padding: 0;

     	text-align:center;

	 	background: #8E8E8E;

 	}

	

	div#container {

		position:relative;

		width: 766px;

	 	background: #7f0b29;

	   	padding: 0px;

	 	margin-right: auto;

	 	margin-left: auto;

	 	margin-top: 0px;

	 	margin-bottom: 0px;

		text-align:left;

	 }

	 

	 		

	div#content {

		position:relative;

		top:232;

		left:30;

     	width: 500px;

	 	height:500px;

	 	background: #162732;

	 

	}

</style>

<body>

<div id="container">

	<div id="content">

		TESTING HERE<br><br><br>TESTING HERE<br><br><br>TESTING HERE<br><br><br>TESTING HERE

	</div>

</div>

</body>

</html>

Open in new window

0
Comment
Question by:894359
2 Comments
 
LVL 2

Accepted Solution

by:
ToastedWeb earned 250 total points
ID: 20307452
try not to position elements with position relative.... it is a bad practice ...

btw. <style></style> should be inside <head> tags, but the best way is to include it into html file...

take a look at my example:
<!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>

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

<title>Untitled Document</title>

<style>
 

* { margin:0; padding:0; }

	

#container1 {

margin:0 auto;

padding:0;

width:800px;

background:red;

border:solid 1px white;

}
 

#container2 {

margin:200px 0 0 20px;

background:black;

width:300px;

height:700px;

}

	

</style>

</head>
 

<body>

<div id="container1">

	<div id="container2">

		<p>Your test content here :)</p>

	</div>

</div>

</body>

</html>

Open in new window

0
 
LVL 3

Assisted Solution

by:Mr_Splash
Mr_Splash earned 250 total points
ID: 20309949
ToastedWeb is correct, relative positioning should not be used as the default way of positioning. Personally I would only use it to tweak an elements position when adding seperate browser dependent stylesheets.

Below is the code you gave with some changes.

Also some other CSS pointers are that
1) When setting a value as 0, you can drop the 'px'.
2) try to avoid * { margin:0; padding:0; } as it messes around with things you may want padding and margin on, such as lists.
3) Add <!-- and --> inside your style tags as shown below, this stops older browsers that can't read CSS showing all the code on the page. Not very common now a days, but it's good practive

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">

<html xmlns="http://www.w3.org/1999/xhtml">

<head>

<title>Test Page</title>

<style type="text/css" media="all">

<!--

body, html {

  font-family: Verdana, Ariel, Sans-Serif;

  font-size: 12px;

  color: #5A5A5A;

  margin: 0; padding: 0;

  text-align: center;

  background: #8E8E8E;

 }

        

#container {

  width: 766px;

  background: #7f0b29;

  padding: 0; margin: 0 auto;

  text-align: left;

}

         

#content {

  margin: 232px 0 0 30px;

  width: 500px; height:500px;

  background: #162732;

}

-->

</style>

</head>

<body>
 

<div id="container">

  <div id="content">

    TESTING HERE<br><br><br>TESTING HERE<br><br><br>TESTING HERE<br><br><br>TESTING HERE

  </div>

</div>
 

</body>

</html>

Open in new window

0

Featured Post

Is Your Active Directory as Secure as You Think?

More than 75% of all records are compromised because of the loss or theft of a privileged credential. Experts have been exploring Active Directory infrastructure to identify key threats and establish best practices for keeping data safe. Attend this month’s webinar to learn more.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

CSS is a visual language used to classify objects and define rules about how they should be displayed. CSS skills aren’t restricted to developers anymore, there is a big benefit to having a basic understanding of the language, regardless of your occ…
This article discusses four methods for overlaying images in a container on a web page
In this tutorial viewers will learn how to style different bullet points for unordered lists in CSS. Begin with a normal unordered list; the default bullet point is a solid circle: In the CSS, create a defined class of unordered list by typing "ul.S…
The viewer will learn the benefit of using external CSS files and the relationship between class and ID selectors. Create your external css file by saving it as style.css then set up your style tags: (CODE) Reference the nav tag and set your prop…

895 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

11 Experts available now in Live!

Get 1:1 Help Now