CSS - Problem With Div Layout Resulting In Multiple Scroll Bars
Hey everyone,
I am having a really hard time creating a layout using divs with a sticky footer that is able to resize correctly. In the past I often used tables for my layouts (i know, naughty me) so i was mainly relying on some tutorials to get as far as I have. In general everything looks good at a high enough resolution, however once things are resized the footer starts to act weird, and the page can end up with up to 3 vertical scroll bars. As well the divs start to overlap each other. If anyone has any ideas as to something i can try it would be greatly appreciated. the page is www.spacehindu.com/archive.php and the css for the page is as follows: Code: * { margin: 0; } html, body { height: 100%; padding:0; background-color:#000; font-family: Arial, Helvetica, sans-serif; text-align: left; font-size: 13px; padding: 0; margin: 0; letter-spacing: 0.5px; } .wrapper{ min-height: 100%; height: auto !important; height: 100%; width:100%; margin: 0 auto -30px; } h1{ font-family: calibri, arial, helvetica; font-size: 22px; letterspacing: 0.5px; color: #fff; text-transform: lowercase; display: inline; padding-bottom: 10px; } h2{ display: inline; font-family: calibri, arial, helvetica; font-size: 15px; letterspacing: 5px; color: #758a95; font-weight: lighter; } h3{ display: inline; text-transform: lowercase; font-size: 17px; letterspacing: 1px; color: #fff; } h4{ display: inline; text-transform: lowercase; font-size: 13px; letterspacing: 8px; color: #758a95; } a:link, a:visited { font-family: arial, calibri, helvetica; color: #fff; text-decoration: none; } a:hover { background-color: #374254; color: #fff; text-decoration: none; } p { letter-spacing: 0.5px; font: Arial, Helvetica, sans-serif #b6bec6; } .nav{ width:400px; height:95%; float:left; background-color:#000; min-height:600px; } .navImg{ position:relative; top:30%; } .content{ margin-left:400px; height:95%; background-color:#000; } .archive{ position:relative; left:50px; top:10%; } .footer, .push { height: 30px; background: #12151f; font-family: calibri, arial; font-size: 12px; color: #8f97a4; text-align: center; clear: both; } #dropdown{ background-color:#374254; color:#CEDBEA; border: 0px solid; } #dropdown .selected { background-color: #CEDBEA; color: #000; border: #000 1px solid; } #dropdown .unselected { background-color: #000; color: #374254; } .fieldset {background-color:#000; border: solid 0; } .label{font-family: calibri, arial; font-size: 12px; letter-spacing: 0.5px; } .textarea { background: #374254; margin: 5px; border: solid 0 #fff; color: #cedbea; font-family: calibri, arial; font-size: 13px; width: 200px; } .message {background: #374254; border: solid 0 #fff; color: #cedbea; font-family: calibri, arial; font-size: 13px; border-radius: 10px; } .submit {background: #374254; border: solid 0; color: #cedbea; } and if it is any help, this is the tutorial i used as my base layout for the divs http://ryanfait.com/resources/footer-stick-to-bottom-of-page/ *EDIT* So i was able to fix the multiple scrollbars by removing "overflow:auto" from a few of the divs. My content div still seems to overlap the footer though. This is especially noticeable if you do a search for "a". a whole bunch of results will appear and the footer will get lost beneath is. Does anyone have any ideas as to how to easily fix this? Similar TutorialsI'm working on a page that uses a sort of "pseudo-frame" effect, where the bulk of the page is in one div, and there is a second div which is a sort of "control panel" that never scrolls. Basically, I'm implementing this by "turning off" scrollbars for the browser, and applying "overflow-auto" to a div that takes up the whole page (basically). Long story short, I'm having a problem ONLY in IE7, in that when the page needs a vertical scroll bar, it does NOT resize the content horizontally to accomodate it, and thus adds an unneeded horizontal scroll bar to the page. This ONLY happens in IE7. What follows is the minimal code needed to reproduce the problem (it does not include the "control panel" pseudo-frame I mentioned.) I notice that when I change the width of the "wideDiv" to auto instead of 100%, this does not happen. Unfortunately, I think I need to use 100% on the real site (which is far more complex than this). Does anyone have a workaround? I've already wasted at least 8 hours on this... Can I send the bill to Microsoft? Code: <?xml version="1.0" encoding="ISO-8859-1"?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "(URL address blocked: See forum rules)"> <html xmlns="(URL address blocked: See forum rules)" xml:lang="en" lang="en" style="overflow:hidden; height:100%;"> <body style="margin:0; padding:0; height:100%;" > <div id="MainContentDiv" style="height:100%; width:100%; overflow:auto; overflow-x:visible; "> <div id="wideDiv" style="width:100%; margin:0; padding:0; background-color:#ddd;">A Wide Div</div> Stuff to Make the Page Taller...<br /> Stuff to Make the Page Taller...<br /> Stuff to Make the Page Taller...<br /> Stuff to Make the Page Taller...<br /> Stuff to Make the Page Taller...<br /> Stuff to Make the Page Taller...<br /> Stuff to Make the Page Taller...<br /> Stuff to Make the Page Taller...<br /> Stuff to Make the Page Taller...<br /> Stuff to Make the Page Taller...<br /> </div> <!-- MainContentDiv --> </body> </html> Thanks! Jeff can some one help me create a css scroll bar using the colors from my site http://jaygreentreejr.info/main here is the css for the main area(links) PHP Code: td { font-family: verdana; font-size: 11px; } A:link, A:visited, A:active { COLOR: #000000; } A:hover { COLOR: #73C42C; } A:link {text-decoration: none;} A:hover {text-decoration: underline;} A:active {text-decoration: underline;} A:visited {text-decoration: none;} A:visited:hover {text-decoration: underline;} A:visited:active {text-decoration: underline;} How do I add scroll bar color in FireFox? I know how to do it in IE, But FireFox is different. Any Help apprecated, thanks. Hi All, I have a skeleton css site here http://www.10eight-design.co.uk/temp/layout_test_float.htm You'll notice that there is a LR scroll bar at the bottom of the scrollable div. Is there a way to remove this? That's all. Rob When I place my flash file in a html document I don't want the scroll bars visible, unless the window is resized smaller than the dimensions of the flash movie. I'm using this piece of code nicely to turn the scroll bars of the browser window off, but it dosn't turn them back on when needed. <STYLE TYPE="text/css"> BODY {overflow:hidden;} </STYLE> This link, http://www.one9ine.com/flash.html works the way I'm trying to work out. No scrollbars visible untill, the browser window is rezised smaller that the flash movie content. Cheers for the help. I have a few questions, and hopefully this will set me for the rest of the day, so I don't have to bother you guys, at least untill tomorrow afternoon. 1. I have a question about scroll-bars, how are they implemented to be translucient? 2. How can I make <DIV>'s auto-stretch to whatever is in them? 3. How can I get it so that the text doesnt go to the very edge of the <DIV> so that it doesn't touch the border, (and look like crap)? 4. Is there any way to take an XML RSS feed and input it directly into any web page (just though I'd throw that one in there so I didn't have to start another thread). Thanks, -Sam I've defined three classes in this page but now I can't scroll down to the end of the page. the vertical scroll bars are missing. why is that? I have a website im developing and I wanted to know how i would go about having a graphic element that floats on top of everything but if it goes outside the bounds of the window it wont introduce scroll bars. Reason: I have an image that i want to make quite long but its not important for the viewer to see the end of the image. I guess its a bit like a background image but on the top Thanks I am an art student, and I'm trying to construct my own portfolio site. I am, however, new to CSS, so I dont really know what I'm doing. I'm using Dreamweaver CS3. I'm using a fixed 2 column template, with header and footer, and the left column as the side bar. Within the right column, I'm trying to make a scrollbar hovering near the top of the div, with clickable thumbnails of my work. Once the thumbnails are clicked on, a larger version of the image takes up the rest of the column. Does anyone have any idea how to accomplsh this? Even my web design teacher's stumped with this one. I thought about using frames, but thats html... http://www.chemicalbreakdown.net/Lost/ On the first page, there is no scroll bar. But if you click "next" and go to the second page, a scroll bar appears because the text is too long for the page. Is there some way I can use PHP to determine whether or not there's a scroll bar, and compensate by reducing the padding, so my layout won't shift towards the left? Thanks for the help! I have a content area that looks like the following Whe Blah blah blah Blah blah blahBlah blah blah Blah blah blahBlah blah blahBlah blah blah When: Blah blah blah Blah blah blahBlah blah blah Blah blah blahBlah blah blahBlah blah blah I have it working as follows which works great in IE but doesnt work in Firefox/netscape Code: ... .homeLabelLeft{ vertical-align:top; text-align:left; display:inline; width:15%; font-weight:bold; margin-bottom:10px; } .homeLabelRight{ display:inline; width:85%; margin-bottom:10px; } ... <div class="homelabelleft"> Whe </div> <div class="homelabelright"> blahblahlbhablahblahblah<br>blahblahlbhablahblahblah </div> <div class="homelabelleft"> When: </div> <div class="homelabelright"> blahblahlbhablahblahblah<br>blahblahlbhablahblahblah </div> ... there are about 10 or so of these sections on the page. In IE this works great but in FF/Netscape the homelabelright div is Under the homelabelleft instead of beside it as is in IE. Any thoughts? Question title: A 2 column layout, let only the second column scroll horizontally and let them both scroll vertically Hello I did try several idea's, but all failed. Then I did search the web but found a list of > 400.000 in google. If someone is willing to tell me if it is possible and give me some directions, please do. Everything is welcome. I got a list with 3 columns ( basically you could say I have only two columns because 2-3 could be concatenated to together, but they have a different style and justification, but I could live to start with a two column sample) f.e line 1 : value_one - ( some_text - value_two (right justified) ) line 2 : value_one - ( some_text - value_two (right justified) ) line 99:.... e.t.c Column one has a fixed width of 32px. 'some text' can be longer then the wide available and value_two is with 3 spaces appended to column 2. I want that column one is fixed horizontal and that the second and the third column can scroll horizontally. Of course when there are more line's then the height of the container is should be posable to scroll vertically. Finally I need the color behind column one be different then the column 2 and 3. So what I did create is a container with two containers where the left one has a different colour then the right one and above those a container with the list. I have overflow on auto, so I get scroll-bars when necessarily. But my problem is that when I scroll horizontally that my first column scrolls away to the left. Basically my question is. How can I get a 2 column layout, let only the second column scroll horizontally ( first is locked in horizontal place ) and let them scroll both vertically? Hi. I am a relative CSS newbie working on a new layout. My intended format is:
A sidebar (a div with no visible border) containing a set of smaller divs.
A main div for the content on the right.
About 35 px of space between the sidebar div and the main div.
Yet, for some reason I am unable to force the sidebar and main div to come together in the center with space between them. Using float: only seems to make them both hug the side of the page. My HTML code is: Code: <div class="sidebar"> <div class="cv"> <font size="3"><b><center> Current Version Info </center></b></font> </div> <div class="ver"> <center> Version: <br/> <b>0.0.0</b> </center> </div> <div class="rel"> <center> Released: <br/> <b>00/00/00</b> </center> </div> <div class="nav"> </div> </div> <div class="main"> <center> Lorum ipsum </center> </div> The relevant CSS code is: Code: div.sidebar { width: 202px; float: left; border: 0px solid #00CC99; } div.cv { width: 200px; border: 1px solid #00CC99; background-color: rgb(33,33,33) } div.ver { width: 99px; border: 1px solid #00CC99; float: left; background-color: rgb(33,33,33) } div.rel { width: 99px; border: 1px solid #00CC99; float: right; background-color: rgb(33,33,33) } div.nav { margin-top: 30px; width: 200px; height: 100px; border: 1px solid #00CC99; background-color: rgb(33,33,33) } div.main { width: 500px; border: 1px solid #00CC99; background-color: rgb(33,33,33); float: right; } In particular, div.main and div.sidebar are the ones giving me trouble. What would you recommend? Edit: And for extra bonus points, can you tell me how to make another div go below everything, no matter how long the sidebar or main div is? Right now anything I add seems to hover behind the main div rather than render below it. hi, i am trying to paint the scrollbar with the following BODY { scrollbar-face-color: #4E5455; scrollbar-highlight-color: #FFFFFF; scrollbar-shadow-color: #999999; scrollbar-3dlight-color: #999999; scrollbar-arrow-color: #993300; scrollbar-track-color: #EFEFEF; scrollbar-darkshadow-color: #98AAB1; margin:0; padding:0; color:#333333; font: 12px arial, verdana, helvetica, sans-serif; } but it doesn't do anything. it's still the default ie scroll bar. does anyone know why? Hi, I own a Web Hosting company, though despite my knowledge of CSS coding, I cannot for the life of me find out what CSS script is causing a problem on my site. If you visit my site, dim-wit.com, you'll see that there is a horizontal bar at the bottom of the page. I can't get rid of it. If you can help, any suggestions would be welcome. Thanks in advance. So i just wrapped up some initial styling for a personal website i'm working on, http://www.sociospatial.com/ Looks fine in firefox. Has some minor issues in chrome/webkit, which I'll iron out later. Haven't dared to load it up in IE yet. In Opera, though, I'm having a problem that I don't know where to start. So without having to paste alot of code, I have a wrapper div and a footer div, just so that I can have the footer hug either the bottom of the viewport or the bottom of the page, whichever is lower. I also wanted some background elements to the page, but I wanted them to hug the bottom as well (load up the page in firefox and resize to viewport to see), so I ended up with something like this: Code: <div id="footer"> <span id="left-bg"></span> <span id="right-bg"></span> </div> and the styling for these is something like (I can post the actual/more if need be) Code: div#footer { position: relative; height: 25px; width: 100%; } span#left-bg { position: absolute; left: 0; bottom: 0; width: 400px; height: 600px; background: transparent url(some-url.png) no-repeat 0 0; z-index: -1; } span#left-bg { position: absolute; right: 0; bottom: 0; width: 400px; height: 600px; background: transparent url(some-url.png) no-repeat -400px 0; z-index: -1; } in firefox/webkit at least, these function as i want, so I have 2 spans that spill up through the top of the containing footer div, but still hides behind normal content. If my wrapper content is minimal, it appropriately hugs the bottom of the viewport and i don't have any vertical scrollbar. If I have a lot of content in the wrapper, I have a vertical scrollbar, but the footer and the spillout background elements are all waiting for me at the bottom of the page. in opera (9), the two spans hug the bottom of the (initial) viewport as I would hope, but I *do* have a vertical scrollbar (even when the content in the wrapper does not necessitate it), and scrolling down reveals that I have a *huge* amount of space that's just empty body background below the footer. This empty space seems vaguely correlated with the "height" values of the spans (the lower the height value, the smaller the empty black background space under the footer), and the vertical scrollbar goes away completely under one of these conditions: a) i add "overflow:hidden" to the div#footer styling (but of course this stops the span elements from spilling through the top) b) using the W3-dev opera tools, if I disable both spans c) after I disable both spans, I enable only one or the other (if I just disable one after both have been enabled, the vertical scrollbar stays, so I have to disable both first). i'm not quite sure what exactly is going on here, nor really what issue I'm trying to track down (I don't know what to enter for a google search, for example) - I'm kind of new at this. Anyone have any clues to contribute? I'll add more information if needed. I think this is more of a css problem than php thats why its here I can get percentage bars to work without text on them, but not with text, the bar is either pushed below the text, or the text is pushed onto 3-4 lines, depending on how wide the bar is So far i have: The php PHP Code: $poke[] = '<div class="percentage"> <span style="position:relative;">'.$text.' ('.round($per, 2).'%)</span> <div class="perc" style="width:'.$per.'%;"></div> </div>'."\n"; the css Code: .percentage { background-color:#800000; -moz-border-radius: 5px; -webkit-border-radius: 5px; border: 1px solid #000; height:15px; font-size:10px; z-index:2; } .perc { visibility:visible; height:15px; z-index:3; background-color:#000; -moz-border-radius: 5px; -webkit-border-radius: 5px; } This is how it looks with that code Ok, this is my first time creating a layout using div tags and I'm having trouble setting the footer to stay at the bottom. example From the example above, I want to footer to sit below the menu. I can't seem to get this to work. Here's my code. Code: body { margin:0px; padding:0px; font-family:verdana, arial, helvetica, sans-serif; background-color:white; } #header { height:50px; background-color:#0755AB; text-align: center; } #content { width:100%; height:200px; margin:0px 0px 0px 150px; background-color:#008080; text-align: center; } #menu { position:absolute; top:50px; left:0px; width:150px; height:300px; background-color:#FF9F9F; text-align: center; } #footer { height:30px; background-color:gray; text-align: center; position: relative; } |