Improve company productivity with a Business Account.Sign Up

x
  • Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 3080
  • Last Modified:

Why containing div doesn't stretch?

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
894359
Asked:
894359
2 Solutions
 
ToastedWebCommented:
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
 
Mr_SplashCommented:
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
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

Join & Write a Comment

Featured Post

What Kind of Coding Program is Right for You?

There are many ways to learn to code these days. From coding bootcamps like Flatiron School to online courses to totally free beginner resources. The best way to learn to code depends on many factors, but the most important one is you. See what course is best for you.

Tackle projects and never again get stuck behind a technical roadblock.
Join Now