CSS - Center Block Keeps Dropping On Rescale
I'm working on the site www rabidpursesquirrels com and any time someone resizes their browser to something smaller than full screen (or simply has a small screen display) the middle block drops to the bottom of the screen.
I need to find out how to make that stop happening. I don't mind if the site is too wide then and they have to scroll left to right, this would at least fix my first problem. My 2nd problem is the margins between the center block and the sides blocks. I can't figure out where I can adjust those. As you can see currently the left seems to look ok but the right side is all screwed up. I've been through the style sheet for 4 days and can't seem to find what to adjust. I'm new to css and can 'tweek' it ok but writing it is totally out of my league. Thanks in advance, QV Similar TutorialsFor the first time, rather than coding my own layout CSS, I'm adapting a layout and CSS created by someone else... and I've run into some problems figuring out a couple of things. The layout in question is one written for Movable Type, and is freely able to be edited and changed. I'm working with the layout in a test setting now, before moving it to its permanent home. You can see it in action at: Code: http://www.outincenterfield.com/mt/ Two things I need to figure out: 1. How to align the whole layout in the center of the page. (the header image, the 3-columns, and the footer) 2. How to increase space(margin) between the boxes in the sidebars, so that the underlying white background color shows through. Any help would be GREATLY appreciated - as the way this layout is coded has got me turned all around. I've tried everything I could think of, and can't sort out how to do these two things. Here's the main CSS: Code: /* THEME NAME: Diurnal THEME URI: http://ntuat.wordpress.com/ DESCRIPTION: This flexible 5-in-1 theme changes according to the time of day VERSION: 1.0 AUTHOR: Carolyn Smith AUTHOR URI: http://not-that-ugly.co.uk/ TEMPLATE: sandbox */ /* use any structure in /sandbox-layouts; more details in the readme*/ /* included here for Movable Type */ /* links to time-specific stylesheets */ @import url('sunrise/style.css'); @import url('morning/style.css'); @import url('afternoon/style.css'); @import url('sunset/style.css'); @import url('night/style.css'); div#container { margin-left: auto; margin-right: auto; width: 1000px; } div#content { margin: 0 400px 0 0; } div.sidebar { float: left; overflow: hidden; width: 180px; } div#primary { margin: 0 0 0 -400px; } div#secondary { margin: 0 0 0 -200px; } div#footer { clear: left; width: 1000px } body {font: 0.75em arial, helvetica, verdana, sans-serif; margin:0; padding:0; color:#444} #container {background:#fff;} #content { padding:0 10px 0 10px} /* header */ #header {height:200px;} #header h1 {font:3em 'century gothic', futura, serif; margin:0; padding: 0 10px 0 10px;} #blog-description {padding:7px 10px 0px 10px; color:#fff} .skip-link {display:none} /* prev/next links */ .navigation {margin:1em; text-align:center; width:95%; height:1em} .nav-previous {float:left; text-align:left; width:45%} .nav-next {float:right; text-align:right; width:45%} .nav-previous a {padding-left:20px; background:url(leftarrow.gif) center left no-repeat;} .nav-next a {padding-right:20px; background:url(rightarrow.gif) center right no-repeat;} span.meta-nav {display:none} /* page navigation */ #menu ul li { margin:0; padding:0; display:inline; font:1.2em 'century gothic', futura, sans-serif; } #menu ul li ul {margin:0; display:inline; font-size:0.8em; } #menu ul li a { padding: 3px 20px 3px 10px; letter-spacing:0.05em; } /* sidebar stuff */ .sidebar {margin:0; padding: 10px; background:#fff} .sidebar h3, .comments h3, #respond h3 {letter-spacing:0.05em; margin:0; padding:7px 10px 3px 20px; font: 1.4em 'century gothic', futura, sans-serif} #menu ul, .sidebar ul {list-style:none; margin:0; padding:0;} .widget, .sidebar li.linkcat {border:1px #ccc solid; margin-bottom:2em;} .sidebar ul li, #wp-calendar caption {background:#f0f0f0 url(greybk.png) top left repeat-x; border:1px #ccc solid;} .sidebar h3 {border:1px #ccc solid;} .sidebar ul li ul li, .sidebar ul li div {background:#fbfbfb; border:0; padding:3px 10px 3px 10px;} .sidebar ul li ul li ul li { padding-left:20px; background:url(rightarrow.gif) center left no-repeat;} /* posts & comments */ .post, body.page div.hentry, .comment, .trackback, .pingback {border:1px #ccc solid; margin:10px 0 10px 0} .entry-title, .comment-author {letter-spacing:0.05em; margin: 0; background:#f0f0f0 url(greybk.png) top left repeat-x; padding:5px 10px 0px 10px; font: 2em 'century gothic', futura, sans-serif} abbr.published {border:0;} .entry-date, .comment-meta, #trackbacks-list div.comment-author { text-transform:uppercase; font-size:0.9em; margin:0; background:#f0f0f0; padding:0px 10px 5px 10px;} .entry-date {background:#f0f0f0 url(clock.gif) top left no-repeat; padding-left:20px} #trackbacks-list div.comment-author {font-family: arial, helvetica, verdana, sans-serif; border-bottom:1px #ccc solid; letter-spacing:0em; padding-top:5px} .comment-meta {border-bottom:1px #ccc solid;} .comment p, #trackbacks-list p {padding:0px 10px 0px 10px; background:#fbfbfb;} .entry-content {line-height:1.4em; padding:10px; background:#fbfbfb; border-top:1px #ccc solid; } .entry-meta{ clear:both; background:#f0f0f0; border-top:1px #ccc solid; padding:5px 10px 5px 10px} .meta-sep {padding-left:18px; color:#f0f0f0;} li.bypostauthor div.comment-author {background:#f0f0f0 url(starbk.png) top left repeat-x} /* forms */ input, textarea {background:#f0f0f0 url(greybk.png) top left repeat-x; border:1px #ccc solid; color:#444; font:1em arial, helvetica, verdana, sans-serif; overflow:auto} #commentform #submit {margin:10px 0 10px 0; color:#333} #searchform div{background:#f0f0f0; margin:10px} #searchform submit {color:#333} /* calendar */ #calendar h3 {display:none} div#calendar_wrap {padding:0; background:#f0f0f0 url(greybk.png) top left repeat-x;} #wp-calendar {width:100%; background:#fbfbfb;} #wp-calendar caption {font:1.4em 'century gothic', futura, sans-serif; margin:0; padding: 5px 0px 5px 20px; text-align:left } #wp-calendar td {text-align:center; border:#ccc 1px solid; background:#f0f0f0 url(greybk.png) repeat-x;} #wp-calendar tfoot td { background:#fbfbfb; border:0; } #wp-calendar td.pad {border:0; background:#fbfbfb} td#today { background:#ccc; border:#999 1px solid} /* image handling */ #content img {max-width:98%;} #content, .sidebar {overflow:hidden} a img {border:0} .alignright { float:right; margin:5px} .alignleft { float:left; margin:5px} .center { margin:auto; display:block; } /* getting asides to LOOK like asides */ body.home div.category-asides { margin:20px 0px 20px 0px; padding:5px 10px 5px 10px} body.home div.category-asides *{ display:inline; } body.home div.category-asides .entry-content {border:0; font-size:1em; line-height:1.5em; padding:0} body.home div.category-asides div.entry-meta {background:#fbfbfb; margin:0; border:0 } body.home div.category-asides .entry-title, body.home div.category-asides .entry-date, body.home div.category-asides .author, body.home div.category-asides .meta-sep, body.home div.category-asides .cat-links {display:none} /* html elements */ a {text-decoration:none} blockquote {border:1px #ccc solid; padding:5px} h2 {font: 2em 'century gothic', futura, sans-serif; margin:10px 0 -10px 0; } .hentry ul {list-style-image:url(rightarrow.gif)} #footer { background:#f0f0f0 url(greybk.png) repeat-x; text-align:center; border-top:#ccc 1px solid; padding:10px 0 10px 0; } I'm sure some of you have seen the article on alistapart for the suckerfish dropdowns. After recently moving through this, I found a bug with mac ie where the child list is displayed to the side of and not below the major nav link. I'm not sure exactly what this might be, does anyone have any ideas on this? Here's the CSS: Code: #nav ul { margin: 0 0; padding: 0 0; list-style-type: none; } #nav ul li { float: left; position: relative; width: 10em; } #nav ul li ul { display: none; position: absolute; top: 1em; left: 0; } #nav ul li > ul { top: auto; left: auto; clear: left; } #nav ul li:hover ul, #nav ul li.over ul { display: block; } ...and the html... Code: <div id="nav"><ul id="rootul"> <li><a href="#">Link One</a> <ul> <li><a href="#">Sub Link</a></li> <li><a href="#">Sub Link 2</a></li> </ul> </li> <li><a href="#">Link Two </a> <ul> <li><a href="#">Sub Link</a></li> <li><a href="#">Sub Link 2</a></li> </ul> </li> <li><a href="#">Link Three </a> <ul> <li><a href="#">Sub Link</a></li> <li><a href="#">Sub Link 2</a></li> </ul> </li> <li><a href="#">Link Four </a> <ul> <li><a href="#">Sub Link</a></li> <li><a href="#">Sub Link 2</a></li> </ul> </li> <li><a href="#">Link Five </a> <ul> <li><a href="#">Sub Link</a></li> <li><a href="#">Sub Link 2</a></li> </ul> </li> </ul> </div> ..and finally, the javascript.. Code: <script language="javascript" type="text/javascript"> startList = function() { if (document.all&&document.getElementById) { navRoot = document.getElementById("rootul"); for (i=0; i<navRoot.childNodes.length; i++) { node = navRoot.childNodes[i]; if (node.nodeName=="LI") { node.onmouseover=function() { this.className+=" over"; } node.onmouseout=function() { this.className=this.className.replace(" over", ""); } } } } } window.onload=startList; </script> I know that technically this could be a DHTML issue, but I feel certain it's a CSS rule that I'm not doing right. I've tested this and it works in IE 6.0 and FF 1.0. Does anyone have a browser that this does NOT work in? Thanks much! -Brian Over the past few days I've pulled my hair out trying to fix this. I've changed the size of the container and resized the gallery. In IE8, it drops the gallery under the left-hand size text. Every other browser it appears fine but IE it does not. You can see he wowrelief (dot) com/ev css: (URL address blocked: See forum /index_files/style.css I need to finish this for a class and I don't know how to fix it and I'm beyond frustrated. help? Got a problem in ie6 with divs dropping and a slight over lap in ie7. The tables are set width inside a 600px wide div but no matter what i do the columns on the right keep dropping. anyone have any ideas? how can i post screenshots when no urls allowed? Hi, Is there any app or way to resize or change the position of the divs just dragging and dropping? Something like in Inkscape for resizing or moving objects. Ciao For a navigation I am using, I must use an li height to control spacing in IE6. I'm also using bullets to show a user where they are in the site by only having one bullet display at a time. Unfortunately, the height assignment I use on my li causes IE to misplace the bullet next to its secondary nav. Below is code I'm using to troubleshoot: Code: <ul><li><a href="#">dog</a></li> <li><a href="#">cat</a></li> <li class="here"><a href="#">fish</a></li> <ul> <li><a href="#">trout</a></li> <li><a href="#">angel</a></li> <li><a href="#">salmon</a></li> </ul> <li><a href="#">turtle</a></li> <li><a href="#">elephant</a></li> </ul> Code: li {height: 20px; list-style-type: none;} li.here {list-style-type: disc;} If a user is on the page fish, they will see that bullet point to page salmon. Any recommendations? Hello, I'm afraid I'm back with more problems I have a 3 column layout. the Left column is floated left, right floated left and the middle column uses left and right margins. I then had cause to set a width on the middle column to give something with Layout for IE. When I add the width to the middle column, it looks fine in firefox but for some reason in IE, my middle div drops underneath the two floated divs, as if it is too wide. I have tried debuging by using background colours on the Divs and the width of the coloured area is the same in both browsers. It is as if there is something leaking out the sides. Even on this most basic example. Am I missing something basic? Code: <div id="wrapper" style="width:996px; background-color:#666666; margin-left:auto; margin-right:auto;"> <div id="lbar" style="float:left; width:170px; padding-left:10px; background-color:#FF0000; "> <p>left</p> </div> <div id="rbar" style="float:right; width:305px; background-color:#0033FF;"> <p>right</p> </div> <div id="middle" style="margin-left:190px; width:491px; margin-right:315px; background-color:#99CCCC;"> <p>middle</p> </div> </div> Thank you for any time taken in reading this JJ Alright guys. I'm working on a horizontally scrolling news ticker type deal. I have two divs on screen, and the rest are off screen using the overflow:hidden on the parent. The divs are set to 466px wide, float:left, and the parent is 932px wide. Since div 3 and up are all 466px, they drop down below the other two. Not a problem, since the overflow is set. However the jquery animation does not reset the reference point when it scrolls, so the divs stay in this arrangement. Is there any way to keep them all lined up next to eachother horizontally? I'm wondering if there is a CSS solution first, before I get creative with the jQuery. I could easily set it for the next two divs to display right, but there is no telling how many divs there will be and it would quickly become a nightmare trying to account for all possibilities. Here is the current CSS I'm using: Code: #test {background-color:#F1F2F2; width:932px; padding:10px; margin-top:20px;overflow:hidden; display:inline-block; height:400px;} #newswrapper {height:100px; position:relative; left:0px;} #newswrapper div {float:left; position:relative; background:#CCC; width:466px; height:400px;} I am using the following code how do I change it so that it would show up in the center of the brower window? Thanks Tim PHP Code: <div style="position: absolute; left: 0px; z-index: 1; top: 0px; align: center\"> <object classid=\"clsid:d27cdb6e-ae6d-11cf-96b8-444553540000\" codebase=\"http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,0 ,0\" width=\"544\" height=\"396\" id=\"cardio\" align=\"middle\"> <param name=\"allowScriptAccess\" value=\"sameDomain\" /> <param name=\"movie\" value=\"ads/cardio3.swf\" /> <param name=\"loop\" value=\"false\" /> <param name=\"quality\" value=\"high\" /> <param name=\"wmode\" value=\"transparent\" /> <param name=\"bgcolor\" value=\"#ffffff\" /> <embed src=\"ads/cardio3.swf\" loop=\"false\" quality=\"high\" wmode=\"transparent\" bgcolor=\"#ffffff\" width=\"544\" height=\"396\" name=\"cardio\" align=\"middle\" allowScriptAccess=\"sameDomain\" type=\"application/x-shockwave-flash\" pluginspage=\"http://www.macromedia.com/go/getflashplayer\" /> </object> </div> http://warcraftpress.com/theme/theme.html I'm trying to have #footer be pushed down instead of the menu lapping over it. Basically, I want the menu to push it down, but it just overlays it. Thanks In the attached gif, you should be able to see exactly what I mean, if I don't explain it well enough. I have a containing block, #content_main, defined as such: Code: #content_main { margin-left: 170px; padding: .5cm .25cm 50px; } Headers (h1, h2, h3, etc) are used inside #content_main and are defined like this: Code: h1, h2, h3, h4, h5, h6 { font-family: georgia, serif; border-bottom: 1px solid #009; } If you look at the attached gif, you'll see the problem. The top one is what happens. It extends the border-bottom to the width of the containing block, even though it places the text correctly. The second one "Something Else" is what I want it to look like. I edited that with Fireworks. Since it renders the same in Firefox and IE, I figure it's my code that's wrong. Any thoughts? MPEDrummer Hi guys, can you give me some tips to centering a block (<div>) of code? I would like it centered vertically and horizontally and I would also like the background of the element centered (so the whole thing). text-align doesn't work, it only centers the text, not the element. Thanks, Josh I would like to have a table with 6 td's across and the 7th td to break line and default to under neath the first td. I tried using display block and firebug outline the area where my content should be but it is still to the right of the 6th td. I would just like to do this to keep it in the same row so i can hide and show it dynamically outside of those first 6 td's. i coudnt find the forum search feature...? but anyone help with wht i am doing wrong? much appreciated Hi guys I was just wondering why cant i see these two <b></b> "blocks" on each side of my <UL> block in ie6 but in Firefox i can? Screenshot of situation: here is my code for the <b> blocks: PHP Code: .navbar b.lefty { display:block; position:absolute; z-index:604; height:100%; width:20px; top:0px; left:-20px; padding:0; margin:0; background-color:#ffffff; } .navbar b.righty { display:block; position:absolute; z-index:604; height:100%; width:20px; top:0px; left:136px; padding:0; margin:0; background-color:#ffffff; } Here is my code for the <UL> block: PHP Code: .navbar :hover ul { z-index:604; width:136px; top:40px; left:0px; padding:0; margin:0; background-color:#333333; text-align:left;} Now here is my HTML: PHP Code: <ul> <b class="lefty">d</b> <li><a href="#">Link</a></li> <li><a href="#">Link</a></li> <li><a href="#">Link</a></li> <li><a href="#">Link</a></li> <li><a href="#">Link</a></li> <b class="righty">d</b> </ul> I have this CSS for my "globalNav" class: .globalNav {width: 217px; background-image:url(images/barbackground.jpg); background-color: #1B619E; background-repeat: repeat-x; border-right: 1px solid #075284; position: absolute; left: 0px; top: 125px; height: 450px} .globalNav A {background-color: #004E82; border-top: 1px solid #407AA1; border-bottom: 1px solid #00375C; border-right: #00406B; color: white; font-weight: bold; padding: 2px 5px 2px 5px; text-decoration: none; display: block} This is my code for globalNav: <div class="globalNav"> <a href="#">Global 1</a> <a href="#">Global 2</a> <a href="#">Global 3</a> <a href="#">Global 4</a> <a href="#">Global 5</a> <a href="#">Global 6</a> </div> For whatever reason, display block won't work in IE unless I remove the width, height, and positioning. Anyone know any tricks to make this work? Hi, im trying to create a block of colour of various width. Im trying to do it with <span> like so <span style="background-color:#336699; width:100px"></span> Now why wouldnt that work and is there a better way to do what im trying to achieve? Hi Guys, I have a generic Question/Problem to do with a Block Element (in this case a div) in an li tag. This seems to be a problem in browsers like IE8 and Safari but not IE7 and the latest FireFox version. Where with the div item 'drops down' a line from the li bullet. Like this (. is the li): . Here is My Div Content I want it to be like this: . Here is My Div Content Now this only doesn't happen if I just have plan text between the div with no class, so I'm thinking that something in my css dragHandle class may be at fault. Either that or I need to add something to it to do with float or display: line or block etc? Any thoughts or ideas are most appriciated (note I'm using a div in an li as I'm using the AJAX reorder list control and need something for a 'drag handle' to select an item in the list. The reorderlist uses ul and li to display itslef to I have to use this markup structure). Here is my markup. <ul> <li> <div class="dragHandle"> </div> </li> </ul> DragHandle class is as follows .dragHandle { width: 20px; height: 25px; background-image: url(/styles/icons/selectarrow.JPG); background-position: center; background-repeat: no-repeat; cursor: move; } I am a 3week knewb to css. I was wondering if anyone could explain to me when I would use: div or display:block div or span span or display:inline thank you I have been reading about the problems regarding visibility with IE/FireFox/Safari. I have: Code: <input type="button" onClick="toggleSurveyView('block')"> <input type="button" onClick="toggleSurveyView('table-row')"> <tr id="surveyDetails"> <td>HI</td> </tr> function toggleSurveyView(visible) { document.getElementById('surveyDetails').style.display = visible; } In IE visible: block works great in FireFox/Safari visible: table-row works great. Is there a work around to get this visibility issue resolved for all browsers? Or am I going to have to perfrom some sort of browser type check? I just want to be able to toggle showing this table row on and off hey, I have 4 block elements like this: Code: <%@LANGUAGE="VBSCRIPT" CODEPAGE="1252"%> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <title>Test</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> <link rel="stylesheet" type="text/css" href="test.css" /> </head> <body> <div id="banner"> </div> <div id="logo"> <img src="images/logosmall.png"> </div> <div id="registercontent"> </div> <div id="footer"> </div> </body> </html> and the following CSS: #banner { height: 75px; width: 100%; background-image: url(images/bg1.gif); } #logo { position: absolute; top: 30px; left: 34px; z-index: 10; } #registercontent { position: static; width: 600px; margin-left: 50px; margin-top: 50px; margin-bottom: 50px; padding-top: 20px; padding-left: 25px; font-family: verdana; font-size: 12px; border: 1px solid #39ce96; color: #39ce96; background-color: #efefef; } #footer { height: 75px; width: 100%; background-image: url(images/bg1.gif); } now I have found out that when I include the 'logo' block in the page and view the page in browser, the positioning of my 'registercontent' goes haywire (specifically, the block loses its top margin), if I take out the 'logo' block, the 'registercontent' block returns to normal behaviour. Only problem is, I don't know why..!!! help much appreciated. |