CSS - Content Not Expanding To 100% Height
Hi,
I'm working on a website with a header and footer. I want the footer to sit at the bottom of the page even when the content is shorter than the page. I got that to work but can't seem to get the content div to stretch to meet the footer. The background color is different so I need it to stretch down the page. The website is here http://www.tcglv.com/3dgweb/index2.html Here's the css... I'd appreciate it if anyone can see what i'm missing here... Code: * { padding:0; margin:0; } html,body { font-family: Arial, Helvetica, sans-serif; font-size: .8em; background-image:url(../images/gradient.jpg); background-attachment: fixed; color:#4F4F4F; margin:0; padding:0; height:100%; } a { color: #0A2A57; text-decoration:none; } a:visited { color: #000; text-decoration:none; } a:active, a:focus { border-style: none; text-decoration:none; } #wrapper { background-image: url(../images/gradient_interior.jpg); width: 955px; text-align:center; margin: 0 auto -88px; position:relative; height:auto !important; /* real browsers */ height:100%; /* IE6: treaded as min-height*/ min-height:100%; /* real browsers */ } #header { background-image: url(../images/header.png); background-repeat:no-repeat; width:907px; height:215px; margin:0 auto; font-size:0.85em; color:#ffffff; text-align:right; } #header_interior.interior { margin-top:27px; } #header.interior { height:136px; } #header ul { padding-top:2px; } #header li { display:inline; padding-left: 10px; padding-right:15px; background: url(../images/bullet.jpg) no-repeat left center; } #header li.end { padding-right:36px; } #header a:link, #header a:visited, #header a:active { color:#ffffff; text-decoration:none; font-weight:normal; } #header a:hover { text-decoration:underline; } #header_interior { float:left; text-align:left; height: 210px; position: absolute; left: auto; top: 0; } #logo { float:left; position: relative; z-index: 10; } #topnav { padding-top:5px; position: relative; z-index: 10; float: right; left: auto; } #main { width:901px; background-image:url(../images/main_back.png); background-repeat:repeat-y; background-position:left; margin:0 auto; padding-left:4px; padding-right:3px; } #main_interior, #main_interior2 { background-image:url(../images/gradient_grey.jpg); background-color: #fff; background-repeat: repeat-x; text-align:left; padding:25px 25px 25px 25px; background-position: left -20px; } #menu { width:908px; background-image:url(../images/menu_back.png); background-position:left; margin:auto; text-align: center; } #menu a { margin-left: -4px; } #footer a { color:#4F4F4F; text-decoration:none; font-weight:normal; } #content { padding-bottom:98px; } #logos { text-align:center; } #footer { width:843px; height:73px; background-image:url(../images/footer_back.png); background-repeat:no-repeat; margin:0 auto; text-align:left; padding:15px 30px 30px; color:#6D6D6D; font-size:0.8em; position:absolute; bottom:0; left:20px; } #footer a { color:#888888; } #footer ul { list-style: none; margin-bottom:7px; } #footer li { display:inline; background-image:url(../images/border.jpg); background-position:right 3px; background-repeat:no-repeat; padding-right:18px; margin-right:17px; } #footer li.end { padding: 0; margin:0; background-image:url(../blank.gif); } #iii { float:right; margin-right:-20px; padding-top:12px; height:30px; } .learn { margin-top:30px; } .padding { margin-right:50px; } .padding_2 { padding-right:15px; } .padding_3 { padding-bottom:16px; } .padding_4 { padding-top:10px; padding-bottom:10px; } .padding_5 { padding-top:10px; padding-bottom:5px; } .clear { clear:both; height:0; } p { margin-bottom:15px;margin-top:15px; } h1 {font-size:16px;} .topnavul { float: left; margin-left: 195px; width: 250px; } .style3 {font-size: 12px} .style5 { font-size: 16px; color: #FF0000; font-weight: bold; } body,td,th { font-size: 0.8em; } Similar TutorialsHello, I started off trying to find a content box that expands depending on screen res because the last one I made would break in the middle if the users screen res was over 1600px wide. This box worked great with the screen res but now I'm trying to put content in it and my content is not expanding the box down. Instead of pushing the box lower and forcing a scroll bar. The content keeps going down past the bottom of the box and makes a scroll bar. Any idea how I can make the box expand with my content? here is a link to my test page. http://www.gamerunion.com/test.html My css code. Code: div#case { position:absolute; z-index:1; top:200px; left:50px; bottom:50px; right:50px; background:url(/assets/images/tile.png) repeat; } div#tlcorner span, div#trcorner span, div#blcorner span, div#brcorner span, div#lftile span, div#rttile span, div#tptile span, div#btmtile span { width:0; height:0; overflow:hidden; display:block; } div#tlcorner { position:absolute; z-index:10; top:0; left:0; background:url(/assets/images/corners.png) -369px 0 no-repeat; width:123px; height:123px; } div#trcorner { position:absolute; z-index:10; top:0; right:0; background:url(/assets/images/corners.png) -246px 0 no-repeat; width:123px; height:123px; } div#blcorner { position:absolute; z-index:10; bottom:0; left:0; background:url(/assets/images/corners.png) 0 0 no-repeat; width:123px; height:123px; } div#brcorner { position:absolute; z-index:10; bottom:0; right:0; background:url(/assets/images/corners.png) -123px 0 no-repeat; width:123px; height:123px; } div#lftile { position:absolute; z-index:5; top:0; left:0; bottom:0; background:url(/assets/images/lr.png) -20px 0 repeat-y; width:20px; } div#rttile { position:absolute; z-index:5; top:0; right:0; bottom:0; background:url(/assets/images/lr.png) 0 0 repeat-y; width:20px; } div#tptile { position:absolute; z-index:5; top:0; right:0; left:0; background:url(/assets/images/tb.png) 0 0 repeat-x; height:123px; } div#btmtile { position:absolute; z-index:5; bottom:0; right:0; left:0; background:url(/assets/images/tb.png) 0 -123px repeat-x; height:123px; } div#case div.content { position:absolute; z-index:10; width:100%; min-height:400px; overflow:hidden; } div#case div.content h1 { font-family: "Times New Roman", serif, sans-serif, Arial; font-size:16px; color:#000000; margin:5px 0; padding:100px 0 0 100px; text-align:left; text-transform:capitalize; } div#case div.content p { font-family: "Times New Roman", serif, sans-serif, Arial; font-size:14px; color:#000000; text-align:justify; padding:0 100px; } HTML Code: <body> <div id="header"> <h1 class="small">GamerUnion</h1> <h2 class="small">For Gaming Addicts by Gaming Addicts.</h2> </div> <div id="case"> <div id="tlcorner"><span>top left corner</span></div> <div id="trcorner"><span>top right corner</span></div> <div id="blcorner"><span>bottom left corner</span></div> <div id="brcorner"><span>bottom right corner</span></div> <div id="tptile"><span>top side tile</span></div> <div id="lftile"><span>left side tile</span></div> <div id="rttile"><span>right side tile</span></div> <div id="btmtile"><span>bottom side tile</span></div> <div class="content"> <div id="nav"> <ul> <li><a href="/" class="current">Home</a></li> <li><a href="/about.html">About</a></li> <li><a href="/forum/">Forum</a></li> <li><a href="/resources.html">Resources</a></li> <li><a href="/contact.html">Contact</a></li> </ul> </div> <h1>Gamerunion</h1> <p>Text text text text</p> <p>Text text text text</p> <p>Text text text text</p> <p>Text text text text</p> <p>Text text text text</p> <p>Text text text text</p> <p>Text text text text</p> <p>Text text text text</p> <p>Text text text text</p> <p>Text text text text</p> <p>Text text text text</p> <p>Text text text text</p> <p>Text text text text</p> <p>Text text text text</p> <p>Text text text text</p> <p>Text text text text</p> <p>Text text text text</p> <p>Text text text text</p> <p>Text text text text</p> <p>Text text text text</p> </div> </div> </body> Hello. Trying to construct a page with vertical expansion on both of two nested DIVs. Left column is primarily text which varies in length. Right column is a navigation/contact panel that is mostly fixed height, but want ability to drop in objects and expand vertically on some pages. I have tried to background image in container DIV, but I am still getting the content breaking out of the bottom of the DIV. Any other approaches? Min-height (could not get that to work either). Ideally I would like for these to have the same height. Not shading, so it doesn't need to be exact. Here's a sample of code (w/o all the junk). I have started creating a new DIV layout for my website but can't seem to get it to function correctly. I finally got the DIVs to expand with whatever content is in them, but now they will only span to the height of the window and hide the rest of the content instead of expanding further and just making the IE window scroll. Maybe one of you guys can help me out? Here is the test page: well apparently I can't post the url, so I guess I'll just "say" it. juicyart dot net / test.html You can see the problem he BrianRoyer.com The google adsense ad is expanding past the container. Here is my style.css for troubleshooting: Code: html, body { background: #a0a0a0 url(images/main_bg.gif) center top repeat-x; height: 100%; margin-top: 0px; margin-bottom: 0px; height: 100%; } a:link { color: #FFFFFF; text-decoration: underline; } a:visited { color: #FFFFFF; text-decoration: underline; } a:hover { color: #FFFFFF; text-decoration: none; } a:active { color: #FFFFFF; text-decoration: none; } #container { width: 703px; margin: 0 auto; background: #068add url('images/content_bg.gif'); border-left: 5px solid #cdcdcd; border-right: 5px solid #cdcdcd; border-bottom: 5px solid #cdcdcd; } #content em.u { text-decoration: underline; font-style: normal; } #top { padding: 0; border: 0; } #top img { border: 0; } #top h1 { padding: 0; margin: 0; } #leftnav { float: left; width: 160px; margin: 0; padding: .25em 0 0 .75em; } #rightnav { float: right; width: 125px; margin: 0; text-align: center; padding: 1em 1em 0 0; } #rightnav img { margin: 0; border: 0; text-align: center; padding: 1em 0 0 0; } #content { margin-left: 200px; margin-right: 200px; padding: 1em 0 0 0; width: 290px; } #content img.left { margin: 5px; border: 1px solid #000000; float: left; } #content img.right { margin: 5px; border: 1px solid #000000; float: right; } #leftnav img { margin: 0; border: 0; } #google-search img { border: 0; padding: 1em; } #footer { width: 699px; padding-top: 1em; margin: 0 auto; background: #068add url(images/footer_bg.gif) center bottom repeat-x; } #leftnav p, #content p { margin: 0 0 1em 0; text-align: justify; color: #FFFFFF; font-family: Verdana; font-size: 12px; line-height: 130%; } #rightnav p { margin: 0; padding: 0; color: #FFFFFF; font-family: Verdana; font-size: 10px; } #leftnav hr, #content hr, #rightnav hr { color: #FFFFFF; height: 1px; } #content h2 { color: #FFFFFF; font-family: Verdana; font-size: 12px; } #content h2.center { text-align: center; color: #FFFFFF; font-family: Verdana; font-size: 12px; } #leftnav h2, #rightnav h2 { text-align: center; margin: 0; color: #FFFFFF; font-family: Verdana; font-size: 12px; } #content h6, #leftnav h6, #rightnav h6 { text-align: center; margin: 0; padding: 1em; color: #FFFFFF; font-family: Verdana; font-size: 8px; } #navcontainer ul { list-style-type: none; text-align: left; padding: 0 0 0 1.25em; margin: 0; } #navcontainer ul li a { background: transparent url(images/list_off.gif) left center no-repeat; padding-left: 15px; text-align: left; font: normal 10px Verdana; text-decoration: none; color: #FFF; } #navcontainer ul li a:hover { background: transparent url(images/list_on.gif) left center no-repeat; color: black; } #navcontainer ul li a#current { background: transparent url(images/list_active.gif) left center no-repeat; color: #666; } And here is snippet of code where the adsense ad is located: Code: <div id="container"> <div id="top"> <? include("ssi/header.inc"); ?> </div> <div id="leftnav"> <? include("ssi/leftnav.inc"); ?> </div> <div id="rightnav"> <? include("ssi/rightnav.inc"); ?> </div> <div id="content"> ad = rightnav.inc Hey gang, I'm sure this has been asked many times, but i cannot find the words to search for this. Luckily, I'm sure it is a quick fix. I'm not great with CSS, but I feel I have a strong understanding. However, I must not completely understand divs, because when I try to add padding to this "right content" div, it pushes itself behind the footer div (the bright green box): The box on the left is the "left-content", the box on the right is "right-content." Each of the boxes are floated left and right, respectively, and they are both in a "container" div that centers them. How can I make the footer div just be pushed down with content is added to either the right/left-content div? I can add a bunch of "<br />s after the last bit of content, and the footer moves down, but I feel it is cleaner to just add 20x padding. Any help is greatly appreciated! Hi All, I have the following layout. The problem I am having is when the "center" div has lots of text in it the text expands out of the "center" div. I would like the div to stretch with the content. Code: <div id="main"> <div id="mainTop"></div> <div id="mainContent"> <div id="left"></div> <div id="center"> Lots and lots of text goes here </div> <div id="right"></div> </div><!-- end of maincontent --> <div id="mainBottom"> <div id="left2"></div> <div id="center2"></div> <div id="right2"></div> </div> </div> CSS Code: html, body{ margin: 0px; padding: 0px; text-align: center; min-height: 100%;} div{ border: 1px solid black;} /* Hack for IE, Reset to 100% height */ html, body, #main, #mainContent, #left, #center, #right, #left2, #right2{ height: 100%; } #left, #center, #right{ height: 100%; } /* End IE Hack */ #main{ position: relative; width: 100%; min-height: 100%; } #mainTop{ margin: auto; position: relative; height: 210px; width: 850px; text-align: left; background-color: yellow; } #mainContent{ margin: auto; position: relative; min-height: 100%; width: 850px; text-align: left; } #left{ position: absolute; min-height: 100%; width: 79px; left: 0px; background-color: yellow; } #center{ border: 1px solid red; position: absolute; width: 696px; left: 79px; background-color: #dcdbdc; min-height: 100%; } #right{ position: absolute; left: 775px; width: 75px; background-color: yellow; } #mainBottom{ margin: auto; position: relative; min-height: 146px; width: 850px; text-align: left; } #left2{ position: absolute; min-height: 100%; width: 79px; left: 0px; background-color: yellow; } #center2{ border: 1px solid red; position: absolute; width: 696px; left: 79px; background-color: yellow; min-height: 100%; } #right2{ background-color: yellow; position: absolute; left: 775px; width: 75px; min-height: 100%; } Also shown he http://www.steudel.org/css/test.php The yellow divs represent images that border the content. The whole layout is supposed to be able to stretch vertically. I'm not sure why the text is not stretching the center div. TIA, Mark Dear all, IE problems trying to get a large amount of content to sit in a smaller div with overflow set to auto. In FF it works perfectly, but in IE the outer div ignores the width value I have set and instead expands to the width of the content. My code: Code: <div id="calendarWrapper" style="width:800px;height:600px;overflow:scroll;"> <div style="width:4000px;height:1000px;overflow:auto;background-image:url(img/calendarBackground.gif);position:relative"> <div style="background-color:#FFFFCC;position:absolute;top:76px;left:150px;width:1000px;height:74px;">Test</div> <div style="background-color:#FFFFCC;position:absolute;top:151px;left:300px;width:750px;height:74px;">Test</div> <div style="background-color:#FFFFCC;position:absolute;top:1px;left:75px;width:100px;height:74px;">Test</div> </div> </div> I found a couple more threads similar to this but none with a solution. any help most appreciated. Mark I have a page whose outer-most container has a fixed width. On some pages, there is a table whose width I cannot set to be fixed because its contents (more specifically the number of <td>s) are dynamic. My problem is that when the table has so many <td>s that its width is forced to be greater than its parent <div>'s fixed width, the other page elements are not rendered as desired. Here is a simple illiustration of what I'm talking about. The text on the page explAins my issues (although it should be evident from loooking at it in a browser). 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=iso-8859-1" /> <title>Test</title> <style type="text/css"> body { font-family: Arial, Helvetica, sans-serif; } #outer { width: 950px; min-width: 950px; background-color: #fc0; } #hdr { background-color: #66c; height: 50px; padding: 10px; color: #fff; margin-bottom: 25px; } table#data1 { background-color: #eee; margin: 10px; } table#data1 td { font-weight: bold; } </style> </head> <body> <div id="outer"> <div id="hdr"> This box should span the entire width of its orange container box even if the orange box's width exceeedes the width of the browser window due to the content it contains. </div> <table id="data1" border="1"> <tr> <td colspan="24"><p>This table has a lot of TDs which causes its width to go beyond both the 900px assigned to its containg DIV as well as the width of my browser window. My desired behaviours a </p> <ol> <li>the containing element would expand to the width of the table (meaning that the orange background will be displayed behind the content of the grey table)</li> <li>the DIV with the blue background at the top would also expand to the width of its parent container (the DIV with the orange background)</li> </ol> <p>Neither of these are happening in Mozilla and only #1 is happening in IE.</p> <p>I'm sure that Mozilla is displaying properly per the CSS spec, but there must be a way to acheive what I'm trying to do.</p></td> </tr> <tr> <td>aaaaaaaaaaaaaaaaaaaaaaaa</td> <td>bbbbbbbbbbbbbbbbbbbbbbbb</td> <td>aaaaaaaaaaaaaaaaaaaaaaaa</td> <td>bbbbbbbbbbbbbbbbbbbbbbbb</td> <td>aaaaaaaaaaaaaaaaaaaaaaaa</td> <td>bbbbbbbbbbbbbbbbbbbbbbbb</td> <td>aaaaaaaaaaaaaaaaaaaaaaaa</td> <td>bbbbbbbbbbbbbbbbbbbbbbbb</td> <td>aaaaaaaaaaaaaaaaaaaaaaaa</td> <td>bbbbbbbbbbbbbbbbbbbbbbbb</td> <td>aaaaaaaaaaaaaaaaaaaaaaaa</td> <td>bbbbbbbbbbbbbbbbbbbbbbbb</td> <td>aaaaaaaaaaaaaaaaaaaaaaaa</td> <td>bbbbbbbbbbbbbbbbbbbbbbbb</td> <td>aaaaaaaaaaaaaaaaaaaaaaaa</td> <td>bbbbbbbbbbbbbbbbbbbbbbbb</td> <td>aaaaaaaaaaaaaaaaaaaaaaaa</td> <td>bbbbbbbbbbbbbbbbbbbbbbbb</td> <td>aaaaaaaaaaaaaaaaaaaaaaaa</td> <td>bbbbbbbbbbbbbbbbbbbbbbbb</td> <td>aaaaaaaaaaaaaaaaaaaaaaaa</td> <td>bbbbbbbbbbbbbbbbbbbbbbbb</td> <td>aaaaaaaaaaaaaaaaaaaaaaaa</td> <td>bbbbbbbbbbbbbbbbbbbbbbbb</td> </tr> </table> </div> </body> </html> I'm not saying my code is correct and that the browsers are not displaying it properly. I know I'm doing something wrong, I just can't figure out what. Any suggestions? Hello All, I'm currently trying to finish the main design for my church's website - and I'm having a problem with the #mainbody height. LINK TO SITE :: http:// update.gcmpg.com/ If I don't specify a height for #mainbody, it looks like this :: http:// img522.imageshack.us/img522/7663/noheight.png If I do specify a height for #mainbody (350px in this case), it looks like this :: http:// img716.imageshack.us/img716/5158/height350px.png Basically I'm trying to avoid having to specify a height for #mainbody on every page, it seems like a ridiculous notion to have to do so. I've tried the clearfix, but it doesn't work. and I'm having a brain fart. Thanks in advance for all the replies! Cheers! PS -don't mind the ugly graphics - they're just placeholders I searched for something I want but I didn't find exactly that, or maibe something is wrong but in IE the page does not look ok. What I want is to have my page looks identical in IE as in FF or OPERA. I will explain here how I done the code PHP Code: <td rowspan="2" width="600" align="left" height="100%" valign="top" > <div class="brand_list_big"> <div class="box_header" style="background-color:#79B602;">CARS LISTED BY BRANDS</div> <div class="box_content" style="width:560px;"> <div class="brand_list_header"><span style="float:left;"><strong>Audi</strong></span><span style="float: right;">Total Cars : 2</span></div> <div class="car_list"> <span class="fleft"><a href="#">audi tt</a></span><span class="fright"><img 1><img 2></span><br> <span class="fleft"><a href="#">Saturn Sky Roadster</a></span><span class="fright"><img 1><img 2></span><br> </div> ... <div class="brand_list_header"><span style="float:left;"><strong>Alfa-Romeo</strong></span><span style="float: right;">Total Cars : 0</span></div> ... div.box_header { width: 99,5%; margin: 1px 1px 1px 1px; padding: 5px 0 5px 0; font-weight:bold; font-size: 12px; font-family:Verdana, Arial, Helvetica, sans-serif; } div.box_content { margin: 0 1px 1px 1px; padding: 5px 5px 5px 5px; height: 100%; scrollbar-face-color:#7098DF; scrollbar-highlight-color:#7098DF; scrollbar-3dlight-color:#FFFFFF; scrollbar-darkshadow-color:#FFFFFF; scrollbar-shadow-color:#919AA4; scrollbar-arrow-color:#FFCC00; scrollbar-track-color:#FFFFFF; } .brand_list_header { width: 99,5%; padding: 2px 0 2px 5px; background-color:#E3FEB1; border: 1px solid #CCCCCC; border-bottom: 0 solid #CCCCCC; margin-top: 10px; overflow:auto; /* I added this now and in ff and Opera everithing is ok, but not in IE*/ } .car_list { border: 1px solid #CCCCCC; background-color:#FFFFFF; clear:both; overflow:auto; } .fleft { float: left; margin: 2px 2px 2px 10px; clear:left; } .fright { float: right; } img.new_img { margin: 2px 10px 0 0 ; /*the img from my code( <img 1>, <img 2> ) have this class*/ } Any Ideea why in IE the divs are not ok ? First I tried to list the cars from a brand using <li> elements but I didn't know how to align the images ( icons ) at the right side, like are now. 10x in advance, waiting for a response see ya Hello, I'm working on a website for a client: http://evoxdesigns.com/rimlox/ http://evoxdesigns.com/rimlox/rimlox.css My current problem is getting the body to scale to 100% height. At the moment, it stretches to 100% of the browser window, which is great, but if if the content within all the nested divs expands to a height larger than that of the screen, the background does expand with it. In my troubleshooting, I gave the body a 1px border and found out that the body remains at the fixed size of the window even though the content within it expands. I tried messing with the overflow property, all to no avail. I'd appreciate any help I can get on this one. Let me start by saying I am a php programmer and just starting to get into CSS layouts (I'm a table layout person but trying to change that) Well I have searched and searched and I cannot find a solution to this. Basically as content_left and content_right grows vertically..... the content div they are in does not.... I tried display: table-cell as I've seen on some responses but that breaks in opera, the only way I can get it to look right is to do like height: 1000px; but the content will be dynamic so that won't work... I am sure there is a simple solution any help would be much appreciated thanks! Here is the code: Code: <style type="text/css"> <!-- body { text-align:center; } #wrapper { width: 1000px; margin: auto; border: 1px solid black; } #content { position:relative; border: 1px solid red; } #content_left { position: relative; width: 640px; float: left; border: 1px solid green; } #content_right { position: relative; width: 350px; float: right; border: 1px solid blue; } --> </style> and then the html Code: <div id="wrapper"> <div id="content"> <div id="content_left"><br />left<br /><br />left<br /></div> <div id="content_right"><br />right<br /><br />right<br /></div> </div> </div> I have been struggling with this problem since i first started creating this layout (ages ago, but for development reasons, i stuck static width/heights in, just to work on my screen). I have searched google numerous times, but with no avail, as sites go on about something which is irrelevant to what im wanting (so maybe vague/bad use of keywords in search). any way i did a quick search on here, and any help given, does not seem to fix up my layout. My first basic problem is having a side navigation bar to fill the height of the screen, plus the header which is a static height. All this without creating scroll bars for the browser My second problem, which may be more or less the same as the above (miss-understanding of css), having a 100% height which includes padding. Link: http://dlym.net/testing/css_help.php Source (html) Code: <html> <body> <div id="container"> <div id="top">header</div> <div id="sidebar">laaa<br>laaa<br>laaa<br>laaa<br>laaa<br>laaa<br>laaa<br>laaa<br>laaa<br>laaa<br>laaa<br>laaa<br>laaa<br>laaa<br></div> <div id="content"> <div id="childcontainer"> <div id="paddedbox"> <div id="test1">title</div> <div id="test2"> <div id="myElement"><a onclick="">main content</a></div> </div> </div> </div> </div> </div> </div> </body></html> CSS Code: html, body { margin:0px; padding:0px; width:100%; height:100%; } #container { width: 100%; height:auto !important; /* real browsers */ height:100%; /* IE6: treaded as min-height*/ max-height:100%; /* real browsers */ background-color:grey; position: relative; } #top { width: 100%; height: 100px; background-color:pink; } #main { width:100%; height:100%; } #sidebar { background-color:red; width: 150px; height: 100%; float: left; } #content { background-color:blue; overflow:hidden; padding:10px; height:auto !important; /* real browsers */ height:100%; /* IE6: treaded as min-height*/ max-height:100%; /* real browsers */ } #childcontainer { background-color:white; padding:10px; } #paddedbox { background-color:green; margin-bottom:0px; margin-top:0px; overflow:hidden; } #test1 { width:100%; height:20px; background-color:yellow; } #test2 { width:100%; height:100%; background-color:lime; } The above is a simplified version of my site's layout, but they are the core div containers which i am trying to get positioned correctly. I seriously will thank any one who gives any help which leads me to fix this problem, as i am not too skilled with css, and this has been troubling me for some time. Thank you Is there a way that this can be done, basically I have a div hidden based on certain JS logic, but the amount of space of the content in the div is still taken up on the screen. I would like to make the div say 0xp and discard content. Is there any code that can help me, I've looked but can't find. Thanks This is my first completely css site and I am having troubles with my main content areas and some other small minor things. My design requires that the sidebar be the same height as my content area. What do I need to do to get them the same heights. The main content area changes on each page so my sidebar needs to do the same. Here is the website. I guess I cannot post url's so I hope I made sense. Also an example of what the site is going to look is here. Once again cannot post urls. Also, I need help with lists. In the example image I have the lists side-by-side. Normally I would use a table for this. Is there a way to do this with css? Any help would greatly be appreciated. Thanks, Shaun Hi. I'm having a funny problem where using 100% height makes the content div scrollable, even when there's no actual content in it. I am trying to make my content div be 100% height of the window size, so I have the following css: Code: html, body { background: #FFFFFF; margin: 0px; padding: 0px; height: 100%; font-family: Trebuchet MS, Helvetica, sans-serif; } #wrapper { background: #FFFFFF; position: relative; width: 100%; height: 100%; margin: 0px auto; } #header { background-image: url("images/h-bg.png"); background-repeat: repeat-x; margin: 0px auto; padding: 0px; width: 960px; height: 107px; } #header .logo { margin-left: 10px; } #header .bg_l { float: left; } #header .bg_r { float: right; } #nav { background-image: url("images/n-bg.png"); position: relative; margin: 0px; width: 100%; height: 143px; text-align: center; } #nav a { float: left; outline-style: none; width: 240px; height: 156px; } #nav_btn_wrapper { width: 960px; margin: 0px auto; } #content { position: relative; background-image: url("images/c-bg.png"); background-repeat: repeat-y; width: 930px; height: 100%; margin: 10px auto 0px auto; padding: 10px 15px 0px 15px; font-size: 12pt; } As you can see I have height: 100% in every parent element from container up. Without the height set to 100%, the container div just cuts off, which is bad because I'm using a glowy background on it, and it just cuts off abruptly. I have used this method before on another design, but it worked only cos the wrapper and the container were both white, so when the container chopped off, the wrapper would continue, and it would look seemless. See www.landmarkmeds.com to see the problem in action. I have tried to remove the margin on the content div, but that only moved it up a bit. Also, looking at it in firebug, it reports the height as the correct value, and even shows the ruler down to the bottom of the browser window. Why then it allows me to scroll I don't know! I'm sure it's something stupid I've missed, but please help! Hey, I have been looking EVERYWHERE for a solution and there seems to be none just quite yet. I've searched google and all sorts of help forums... and still zip, nothing. What I want to do is vertically-align the text in this example: http://www.tri-m.com/test.html in the middle of the white space. The problem though is that there is an unknown height of the whitespace because I want it to be that no matter what size you size the window, the content will always be vertically aligned... so I'm pretty stuck on how to do this. I'm needing the solution for this desperatly and I have been searching and trying everything for weeks. If anyone could help that would be VERY VERY apperciated. Thank you sooo much to everyone that tries this out. Once again here is the Example: http://www.tri-m.com/test.html Here is my code: Code: <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> <title>Tri-M Systems INC.</title> <style type="text/css"> * { margin:0; padding:0; } html, body { height:100%; } body { color:#000; } #container-page { background:#fff; width:100%; min-height:100%; /* For Modern Browsers */ height:auto !important; /* For Modern Browsers */ height:100%; /* For IE */ position:relative; text-align:left; margin:0 auto; } #container-head { background:#fff; } #header { background-color:#0000FF; min-width:830px; width:expression(document.body.clientWidth < 832 ? "830px" : "auto" ); height:81px; position:relative; } #container-content { min-width:830px; width:expression(document.body.clientWidth < 832 ? "830px" : "auto" ); text-align:center; position:relative; padding: 0 0 162px 0; } #container-content:after { height:0; clear:both; display:block; content:"."; visibility:hidden; } #content-sec ul,#content-sec ul li { list-style: none none; } #container-foot { background-color:#ff0000; width:100%; min-width:830px; width:expression(document.body.clientWidth < 832 ? "830px" : "auto" ); height:162px; position:absolute; bottom:0 !important; bottom:-1px; /* For Certain IE widths */ } #foot { height:162px; } </style> </head> <body> <div id="container-page"> <div id="container-head"> <div id="header"> </div><!-- END "header" --> </div><!-- END "container-head" --> <div id="container-content"> <center> <div id="box">VERTICAL ALIGN THIS IN WHITE SPACE</div> <!-- END "box" --> </center> </div><!-- END "container-content" --> <div id="container-foot"> <div id="foot"> </div><!-- END "foot" --> </div><!-- END "container-foot" --> </div><!-- END "container-page" --> </body> </html> - Jacenta I'm a newbie to css. I'm trying to convert tables to css and having a bit of a tough time. Latest problem - create a window or container with a one line border with minimum height, say 600px, but the height will expand as the content grows. Any help? Thank you kindly! I'd like to make a 2-column layout where each column fills the height of the container div, and the container div's height is determined by the longest div within it... this is getting a bit confusing, because I can't have one being determined by the other one with that one being determined by the first, if that makes sense? Any help would be greatly appreciated, thanks |