CSS - Background Image Creeping 1px When Resizing Window
I've had an issue in the past where the background image creeps, or hangs, when resizing the window. To explain what I mean, check out this page:
http://ridersresto.com/ this is the background image: http://ridersresto.com/images/main_bg.gif when you slowly resize the image, you will notice the background image on both sides of the page closing and opening a 1px gap. here is the CSS for the BG image: Code: body { margin: 0; padding: 0; background-color: #131313; color: white; background-image: url(http://ridersresto.com/images/main_bg.gif); background-attachment: fixed; background-repeat: repeat-y; background-position: top center; } .frame { margin: 0 auto 0 auto; padding: 0; width: 778px; background-color: #000000; color: white; } Code: <body> <div class="frame"> </div> </body> Is there a more efficient way of accomplishing this effect? Similar TutorialsHey all, I have a couple of related questions. First off, is there a way to automatically resize a div or any other element to be the size of the background image. Basically I am trying to do all my images in the stylesheet to allow for easy skinning. I've been doing stuff like: Code: #myDiv { background:url(graphics/cat.jpg); height:75px; width:75px;} But manually setting the height and width gets really tedious after a dozen or so images. And a related question: manually setting the size of a div doesn't seem to work if I have display set to inline. I get divs that are zero width and zero height. But when I remove that line it works fine, except that I'd rather they be inline elements for positioning purposes. Thanks in advance. If you look here the bottom image (of 2 pcs) is creeping out of the <p> it's in! Compare it with this page to see exactly what it's doing. My code works well in Internet Explorer and Safari but it does not work the way I want it to in Firefox and Opera. My items with red borders should always stay close to the blue bar in the background. But in Firefox and Opera the body background moves to the left when the window size is small, and the items with red borders appear to move away from the blue bar. The problem is the way in which these browsers center the background image for the body. Can anyone help me fix this issue? Thanks! Code: <!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> <title>Demo</title> <style type="text/css" media="all"> html, body { padding: 0px; margin: 0px; height: 100%; width: 100%; text-align: center; } body { background: #555 url(http://www.glidestor.co.uk/images/PageBackground.gif) repeat-y scroll 50% 0; color: #111; } #page { width: 617px; margin: 0 auto 0 auto; padding: 0 0 0 160px; text-align: left; position: relative; border: 1px solid #55aa77; } #homeFeatures { margin: 420px 0 0 0; } #homeFeatures #f1, #homeFeatures #f2, #homeFeatures #f3 { padding: 0 40px 0 12px; font-size: 9pt; font-weight: 300; width: 200px; display: block; text-decoration: none; float: left; border: 1px solid red; } </style> </head> <body> <div id="page"> <div id="homeFeatures"> <a href="#" title="Item 1" id="f1"><strong>Item 1</strong>J khfdg jkfkfhkjfsh ksh fhdk ghjkhfsdkjg hsdfjkhsdfjkkjsdf hgkjfsd hgkjfdh gkjfh kjghkjfdh kfj hkfjd hfkdjg hk jghfsdkj ghfsdjk hgfjdhg jsdfgh sdfj ghf.<span>more</span></a> <a href="#" title="Pring Design" id="f2"><strong>Item 2</strong>T khfdg jkfkfhkjfsh ksh fhdk ghjkhfsdkjg hsdfjkhsdfjkkjsdf hgkjfsd hgkjfdh gkjfh kjghkjfdh kfj hkfjd hfkdjg hk jghfsdkj ghfsdjk hgfjdhg jsdfgh sdfj ghf.<span>more</span></a> <a href="#" title="Item 3" id="f3"><strong>Item 3</strong>B khfdg jkfkfhkjfsh ksh fhdk ghjkhfsdkjg hsdfjkhsdfjkkjsdf hgkjfsd hgkjfdh gkjfh kjghkjfdh kfj hkfjd hfkdjg hk jghfsdkj ghfsdjk hgfjdhg jsdfgh sdfj ghf.<span>more</span></a> </div> </div> </body> </html> I'm creating a site that works fine in FF. However, in IE, if I resize the window, the content doesn't move until I refresh the page. When I refresh the page, everything is centered again, but dragging IE to a new size, keeps everything in the same spot. Is there a fix for this? Unfortunately, I don't have the site posted, but may be able to throw it up somewhere if needed. Thanks. Edit: Nevermind. Had the body set to a certain width. Took that out and it works. I'm having some problems when I resize a window from full size and make it smaller in width. I have a stationary graphic that remains in position even if the user scrolls the window up and down, which is what it is supposed to do. However, when I reduce the width of the overall window, the background now scrolls right and left and the graphic covers things it is not supposed to. Is there a way to allow the graphic to scroll right and left if the window can be scrolled right and left but to leave the graphic stationary otherwise? Here's what I have in the style sheet: Code: .pagegraphic{ float:left; height:173px; position: fixed; /* this keeps the coin fixed and allows the background to scroll behind it */ width:170px; z-index:99; } Another problem that occurs when the user can scroll horizontally. When the user resizes and then scrolls right, the background of the window is cut off on the right to the size of the resized window, so you only see a white background past that point. Any suggestions are appreciated. Whenever I change my browser window size all my content moves with it. I feel like this has something to do with my banner being in %'s and not absolute and pixels but I have no idea how to change it. not being able to put in URLS and images probaly won't help. If any 1 has skype please add me ethan.pidcock. I've tried fixing this for like 8 hours. My css knowledge is bad sadly Anyone know how to get your website's background to resize as the page is manually resized when using IE? It resizes properly on both on mac and PC using Firefox, Safari, and Opera, but not IE (on PC). Thanks Hi, I have a quick question which should be cleared up soon enough. However i'm confused. I make a content layer and wish to make the contents height at 100%, so it will cover the hole screen (height wise). So i thought .. the simple code following would solve it. CSS: Code: #content { position:absolute; width:800px; height:100%; overflow:inherit; z-index:1; background-image:url(../images/content.png); background-repeat:repeat-y; left: 100px; top:0px; visibility: visible; } Obviously not seeing as the content ends up a few milimeteres in height. Any help would be fantastic. Regards, Joe. EDIT: I have however .. got it to work in FF .. IE seems to be a problem now though. For some reason I cannot explain, IE6 is re-sizing (shrinking) a div when you mouse-over the second-to-last link in it when the a:hover css sets a background-color!? Mouse-over the second-to-last link here (about this site): URL Mousing over the last link restores it, and if you go from the last link to the second last link it does not shrink it. It's not doing it in Firefox, and it doesn't do it if the bottom link is not the last bit of text on the page. This page has the same problem, except if you go down to the second-last link in September 2004, it does not exhibit this behavior, because the last link in the September 2004 div is not the last line of text in it. URL Help appreciated. I'm going crazy! Hey everyone, I made a site and it seems to have creeping text. On position is everything it says creeping text is caused by a left border and a bottom padding on nested block elements. If I try to highlight the creeping text(ng. or g.) it will highlight the word I think it's creeping form just above where it says wiring. I don't know how to fix it. If anyone has any sugestions that would be great. I can post more code if needed. The header is a div within an inner warper div which is within a wraper div. I need the extra divs to centre the page within the browser. Code: CSS #header{ float:left; clear:none; width:800px; height:160px; border-bottom:1px solid #323132; } #header a{ float:left; clear:none; } #header img{ float:left; clear:none; border:0; border-right:1px solid #323132; } #header-right{ width:583px; overflow:hidden; float:left; clear:none; } #header-right img{ border:0; border-bottom:1px solid #323132; } #slogan{ vertial-align:middle; float:left; clear:none; font-size:15px; padding-left:2em; font-stretch:wider; width:583px; padding:0; height:20px; margin:11px 0 11px 2em; } #slogan span{ float:left; clear:none; font-variant:small-caps; font-size:normal; font-weight:bold; color:#e6242c; font-stretch:normal; } PHP Code: <?php if($page) { $topImg = "images/tops/$page-top.jpg"; } else { $topImg = "images/tops/index-top.jpg"; } ?> <div id="header"><!-- width="800px" height="160" border="0" cellpadding="0" cellspacing="0"--> <!--<a href="/">--> <img src="images/logo.gif" alt="Moorhouse Media Tech logo."> <!--</a>--> <!-- SPACER IMAGE <img id="toptagline" src="images/top-tagline.gif" width="1" height="160" alt="Moorhouse: The new sta ndard in home wiring."></td> --> <div id="header-right"> <img id="top-img" src="<?php echo $topImg . "\" alt=\"" . $page; ?> of Moorhouse.(Decorative Image)" > <!--<img id="tagline" src="images/top-tagline-05.gif" alt="Moorhouse: The new standard in home wirin g.">--> <p id="slogan" style=""><span>MOORHOUSE</span>: The new standard in home wiring.</p> </div> </div> Unfortunately no matter what I do all the ports scanners I've used say that my port 80 is in stealth mode(no response to and SYN packets) so I can't show you a live version of my site. Attached is a screen shot. [edit] I fixed the g. but the ng. still exists. The g. was caused by the commented out image in the PHP code just above the slogan <p> element. I fixed them all, it was caused by the comments. I forget what the fix for that was but I just removed the unnecessary comments. Hi, is there any way to achieve this effect (pseudocode) with CSS? if (image width > 100) add property width="100" to all img tags ie. i want to make all images larger than 100 pixels scale down I need to add a background picture to my web form. I want that the picture should be dynamically resized to the client area of the browser, when the page loads How to do it using CSS? Hello, I'm using jquery and the cycle plugin to cycle through a few images on my homepage inside a container.When i load the website at any browser size, it seems to do the proper thing. The problems arise when i try to make the browser bigger or smaller after that, it does funky things to the images. If you begin to scale the browser when the first image is displayed, it also seems to scale properly for that first image, but goes haywire after that. It pretty much does it in all browsers and i can't seem to figure out if it's something im not setting properly within css or if it have something to do with jquery and the cycle plugin. here's the website thus far: www.beaucoupla.com this is my first time writing code so please any help would be appreciated! Code: @charset "utf-8"; /* CSS Document */ #mainWrapper { /* background:#000 right top no-repeat; min-width:1000px; min-height:775px; border:0px; background-color:#000; */ padding: 0 0 0 1px; margin:0; top:0; left:0; width:100%; } .mainbar { position:absolute; top:0px; left:0px; display:none; visibility:hidden; width:78%; min-height:100%; height:auto; /*This works for IE7 min-height:775px; height:775px;*/ border-right: #FFF solid medium; } #imagelist { left:0; position:absolute; display:block; visibility:visible; /* width:auto; static size */ } #imagelist img { display:block; } #imagelist img.first { display:block; } .theimage { position:absolute; left:0; width:100%; /* Adding this works for IE7 */ /* height:775px; */ border-right: solid #FFF medium; } #podcast { /*right:303px; */ position:absolute; top:0px; left:0px; height:100%; } .about_info p { font-size:1.1em; } .contact_info, .about_info, .news_info { position:relative; margin-top:4em; margin-left:10%; width:78%; font-family:Arial, Helvetica, sans-serif; font-weight:bold; font-size:1.3em; color:#FFF; height:100%; } .contact_info #title, .about_info #title, .news_info #title { font-size:1.75em; padding-bottom:1.5em; color:#1ac089; color:#03c5d1; } .contact_info .heading { color:#c04141; font-size:1.2em; } .contact_info .mail { text-decoration:underline; } .contact_info a:hover { color:blue; text-decoration:underline; } .news_info .heading { color:#c04141; } body { /*width:1400px; height:775px;*/ padding:0; margin:0; border:0; background-color:#000; } #share td { padding-left:0.5em; } #share { margin-left:1.4em; margin-top:0; border-top:0; /* padding-top:5; */ font-size:0.65em; } .sidebar { position:relative; font-family:Arial, Helvetica, sans-serif; font-weight:bold; margin-left:78%; margin-top:1em; font-size:2em; color:#FFF; } ul { border:0; margin:2px; text-decoration:none; } li { list-style:none; } a { text-decoration:none; color:#FFF; } a.home:hover { color:#bc7bd4; } a.news:hover { color:#7bd488 } a.podcast:hover { color:#d47b88; } a.blog:hover { color:#d4cb7b; } a.about:hover { color:#7bd4c6; } a.contact:hover { color:#d4a37b; } a.twitter:hover { color:#33ccff; } a.myspace:hover { color:#999; } a.facebook:hover { color:#5b61d5; } Hi I am designing a page in which I want to include a background image that is anchored to the bottom right of the screen. I have managed to do this, the only problem I am having is that due to the image being a big one (dimensions) when the user's screen is of a lower resolution such as 800 x 600, the image takes over most of the page's background which is distracting from the main content. My idea is to have the image resize based on the user's screen resolution. Is this a feasible solution and if yes, how can it be achieved? Thanks Hello All. I'm working on an assignment for an introductory level html/css class. The assignment asks me to change the Window Background color to 666666. How do i do this? So far i've only be able to change background colors of element tags, which is not what i need. This was the Example give for this particular step. Edit: i tried to link a picture for a visual. For some reason its blocked to new members. Any help would be appreciated. So this site is having a bit of trouble in WinIE 6.0. If you resize the window after you load the page, the dark brown area behind the content sort of gets stuck on the right. I'm wondering if it might have something to do with the javascript I had to do to get IE to recognize fixed backgrounds. Any ideas? Site: http://dev.sabotagemedia.com/firstclass/ CSS: http://dev.sabotagemedia.com/firstclass/_css/style.css The layout I have going is a bit difficult to explain. Here's a diagram.. The area of importance is the header. The content and main head area are centered. The area to the left and right of the header are a <div>. However, as you can see, the background image on the left is different than the one on the right. I'm having difficulty making this work. the images can be stretched horizontally without a problem, but the two sides must meet in the middle beneath the header. I hope this makes sense. What I've got to do, I think, is tell the background image of the underlying <div> to stretch to 100%, and make this image 300px wide or so including both sides of the image and a split. The split would hide behind the header. I can't find a method to stretch the background image, though. Does anybody know of a better way, or a way to achieve this method at all without getting into completely different layouts? Thanks in advance for any assistance/suggestions. In short, I'm trying to get this one image to tile down the page to the bottom, underneath a static background image. Basically, it's a 2pixel high image that's ready to tile vertically, just having a tough time getting it to work. You can clearly see the problem here, a gap at the bottom: http://www.groundedgroup.com/clients/NWR/ Here's the relevant css: http://www.groundedgroup.com/client...WR-GG/style.css I've googled and subsequently tried out some solutions, but no luck. Got any ideas? Thanks in advance. PS - Is there a way to keep the spiders from indexing my links above? The site is on a test server, so I don't want the url indexed. Hi, I have a question about setting up the Body background-image via a linked external stylesheet. I have a index.html file and a myStyle.css file. I want to setup the background to load an image file, test.JPG. When I embed the following in my index.html, I see the background show up: ** inside index.html file ** <BODY STYLE="background-image: url(test.JPG);"> blah </BODY> BUT, when I define my background in the externally linked myStyle.css file, the background does not load: ** inside myStyle.css file ** BODY { background-image: url(test.JPG); } ** inside index.html file ** <LINK REL="stylesheet" TYPE="text/css" HREF="myStyle.css"> <BODY> blah </BODY> </LINK> Please help. thanks! |