CSS - How To Resize A Background Image
Hello
I need to display an image as a background for a table cell I am using the style background-image and it is working fine Here is my problem My table cell has a specific width of 100 pixels The image that I need to display may have a width greater than 100. Is there a way to tell the browser to resize the image to width of 100 pixels and then to display it as a background image? Currently, it just displays the first 100 pixels of the image inside the cell and the rest of the pixels are cut off I must use a background image (background-image) and not an image tag (img) regards Similar TutorialsHello, For some reason I'm having difficulty with this, I'm designing a page that needs a background image centered even when the browser is resized like on ask.com. I don't need several different background options, just one background. It seems to me it should be simple enough but I'm having one of those nights. Can anyone point me in the right direction? Thanks, Jasontor I ran across a source code and was playing with it to see how it works. The code from what I can tell is mainly for background images. My questoin is, how can I apply a code that will resize the image within the same css coding. I thought it was pretty cool that you can include a large image as the background and it resizes with the window. Not sure this can even be done so that's why I'm asking. Can it be written to resize any or all the images you place on the page? I've included the coding Code: <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> <title> </title> <style type="text/css"> html, body {margin:0; padding:0; width:100%; height:100%; overflow:hidden;} #content {padding:5px 300px 20px 200px;} body {font-family:verdana, arial, sans-serif; font-size:76%;} #background{position:absolute; z-index:1; width:100%; height:100%;} #scroller {position:absolute; width:100%; height:100%; top:0; left:0; overflow:auto; z-index:2;} </style> </head> <body> <div> <img id="background" src="bg.gif" alt="" title="" /> </div> <div id="fixed"> </div> <div id="scroller"> <div id="content"> <center> <H1>Header Text Here <br> <img src="header_img.png"><br><br> Text here<br><br> Text Text</h1><br> <img src="Just an image here"> </center> </div> </div> </body> </html> I've got a bit of a problem, in that I'm trying to design a website with a fixed header and lefthand navigation. The buttons I have on the left nav div are entirely image-driven, no text at all. I know that the people who will generally access this website have differing screen resolutions, so I'm also trying to design something that will allow the content to scroll on a lower res monitor while keeping the header and navigation fixed. The problem I run into is keeping the navigation buttons within an acceptable size so that you don't lose some of them off the bottom of the page (remember, it's on a fixed div) on low res monitors. So far that's been okay - the navigation looks fine and all buttons are visible on an 800x600 display (the lowest res I anticipate viewing). However, when I resize the text within the browser, for some reason my navigation menu drops down... more for each resize. To view what I'm talking about, please go he http://www.justusvizslas.com/CrossTies/index.php and resize the text (Ctrl++ in Firefox). With no text contained in the navigation menu, I'm having a hard time understanding why the menu drops down at all upon a text resize. Anyone have a solution, or at least be able to pinpoint within the source where my problem exists? Thanks... Hello Everyboy, I have a problem with image reloading. In my page, i am using font resize tool. When i click over the icon of font resize, i am changing the stylesheet of the page. But i dont know why, the images in the navbar and header are all reloading. It shouldn't happen. This is happened only in IE when i set settings as 'every visit to the page'. So if anybody know the solution, can you please reply me. Thanks in advance. Edit/Delete Message 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. I have just moved to working with layers as opposed tables/cells. Previously i had a table with three cells, at 86%, 4%, and 16% widths so it spanned the screen. The first cell's content only partly fills the cell, so when the browser is resized (made smaller), each cell stays on the same line and the table happily resize to the point where it can no longer get smaller before it wraps text I have tried to replicate this using 3 div's of the same width as the cells, with float left, however, the browser can hardly be resized at all from full screen without the third div moving onto the next line. If i make the 2nd and third divs larger it works slightly better, however the content does not look right in the layers Therefore can anyone point out how i might be able to achieve better DIV resize when the browser resizes please. Thanks very much Ed 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! Hi. Really hoping someone can help me with this... I'll try and explain this as best I can(!) Basically I've got a page containing a block of 9 images, with each linking to a video clip. At the moment I've got the CSS coded so that whenever the mouse is hovered over the 'infobar' (at the bottom of each image) it goes from having a transparent background with black text to having a grey background with white text. What I'm trying to achieve is that same effect whenever the mouse is hovered over any part of the image and infobar. The live online link can be found at: www.markmcm.co.uk/test/test.html The CSS is as as follows: Code: /* * Page Stylesheet */ body { font-family: Arial, Helvetica, sans-serif; background-color: #eaeaea; border:0; margin:0; padding:0; height: 100%; } a:link { text-decoration: none; } a:visited { text-decoration: none; } a:hover { text-decoration: none; } a:active { text-decoration: none; } #container { margin-left: auto; margin-right: auto; min-height: 100%; width: 936px; } * html #container { height: 100%; } #content { float:left; position: relative; height: 528px; width: 936px; z-index: 0; } .miniscreen1, .miniscreen2, .miniscreen3, .miniscreen4, .miniscreen5, .miniscreen6, .miniscreen7, .miniscreen8, .miniscreen9 { position: absolute; float: left; display: block; width: 312px; height: 176px; } .miniscreen1 { top: 0; left: 0; } .miniscreen2 { top:0; left: 312px; } .miniscreen3 { top: 0; left: 624px; } .miniscreen4 { left: 0; top:176px; } .miniscreen5 { left: 312px; top:176px; } .miniscreen6 { left: 624px; top:176px; } .miniscreen7 { left: 0; top:352px; } .miniscreen8 { left: 312px; top:352px; } .miniscreen9 { left: 624px; top:352px; } .info { height: 30px; top:3px; left: 40px; width: 265px; float: left; position: absolute; } .infobar { left:0px; position: absolute; top: 140px; width: 312px; height: 36px; outline: none; color:#000; background: url("data/infobar.png") no-repeat 0 0; z-index: 650; } .infobar:hover { background-position: 0 -36px; outline: none; color:#fff; } #infobar span { display: none; outline: none; } .clip_title { outline: none; font-size: 85%; font-weight: 700; vertical-align: top; text-align: left; } .clip_sub { outline: none; height: 13px; font-size: 80%; line-height: 13px; font-weight: 700; vertical-align: top; text-align: left; } And the HTML is: 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"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>Test Page</title> <meta name="description" content=" " /> <meta name="keywords" content=" " /> <meta name="generator" content=" " /> <link rel="stylesheet" type="text/css" href="page.css" media="screen" /> </head> <body> <div id="container"> <div id="content"> <span class="miniscreen1"> <a href="#"> <img src="img/clip1.jpg" width="312" height="176" border="0"> <span class="infobar"><span class="info clip_title">Test Clip 1<br><span class="clip_sub">123 Productions</span></span></span></a> </span></span> <span class="miniscreen2"> <a href="#"><img src="img/clip2.jpg" width="312" height="176" border="0"> <span class="infobar"><span class="info clip_title">Test Clip 2<br><span class="clip_sub">123 Productions</span></span></span></a> </span></span> <span class="miniscreen3"> <a href="#"><img src="img/clip3.jpg" width="312" height="176" border="0"> <span class="infobar"><span class="info clip_title">Test Clip 3<br><span class="clip_sub">123 Productions</span></span></span></a> </span></span> <span class="miniscreen4"> <a href="#"><img src="img/clip4.jpg" width="312" height="176" border="0"> <span class="infobar"><span class="info clip_title">Test Clip 4<br><span class="clip_sub">123 Productions</span></span></span></a> </span></span> <span class="miniscreen5"> <a href="#"><img src="img/clip5.jpg" width="312" height="176" border="0"> <span class="infobar"><span class="info clip_title">Test Clip 5<br><span class="clip_sub">123 Productions</span></span></span></a> </span></span> <span class="miniscreen6"> <a href="#"><img src="img/clip6.jpg" width="312" height="176" border="0"> <span class="infobar"><span class="info clip_title">Test Clip 6<br><span class="clip_sub">123 Productions</span></span></span></a> </span></span> <span class="miniscreen7"> <a href="#"><img src="img/clip7.jpg" width="312" height="176" border="0"> <span class="infobar"><span class="info clip_title">Test Clip 7<br><span class="clip_sub">123 Productions</span></span></span></a> </span></span> <span class="miniscreen8"> <a href="#"><img src="img/clip8.jpg" width="312" height="176" border="0"> <span class="infobar"><span class="info clip_title">Test Clip 8<br><span class="clip_sub">123 Productions</span></span></span></a> </span></span> <span class="miniscreen9"> <a href="#"><img src="img/clip9.jpg" width="312" height="176" border="0"> <span class="infobar"><span class="info clip_title">Test Clip 9<br><span class="clip_sub">123 Productions</span></span></span></a> </span></span> </div> </div> </body> </html> There must be a better (and easier?) way to do this. Any help would be very-much appreciated - and save an old bloke from tearing too much of his hair out(!) Hi I am redesigning my blog and took it down completely. I want to place the day's text post on the day's photo post on top of the latter, while graying out the photo. Is that possible without using flash? Code: div.top { border: 10px solid #CCCCCC; border-bottom-width: 0px; padding: 0px; background-image: url(menutile.jpg); } The code above yields this . It is uneven with the normal image, though both are the same size. I simply want to tile the bg image to the border even with the normal menu images. What am I doing wrong? I am trying to put labels below images on my new site design. See: www.jwsuretybonds*com/jw09 I figured out how to get them vertically aligned, but I am having problems with the horizontal, as when I change the browser size, they move. Here is one of the examples: Code: #homepage-bar h2.construction { position:fixed; top:225px; left:505px; } I tried changing to position: absolute; I also tried to use percentages on the left: I know this is easy, but I can't find the fix after googling for 30 minutes. Help! I'm trying to create a little background image for each image on this page. A kind of crappy looking polaroid type background image. It works fine in Firefox, but not in IE. Any ideas? http://www.rhizaowns.com/holly/index.php I want to use php to get images from a database and display them as css background-image attributes I know that the css Code: #id { background-image: url ('path/file'); } works (obviously) and the html Code: <img src='image-generator-script.php'> also works but the css Code: #id { background-image: url ('image-generator-script.php'); } doesn't work for me. It seems as though it should work. Why place such a seemingly arbitrary limitation on CSS as only being able to display images from existing files? I've done lots of searching through documentation and on forums, but not found anything conclusive either way. A couple of people have said it works. But it doesn't for me. Is there some extra configuration step I'm missing? Does anyone know for a fact that it works? -- so I can know for sure that somewhere I'm making a blunder in my code. But the code is simple, and I don't see where it could go wrong. (As is always the case!!) I can see the image in the browser just by pasting in the script link to the address bar. I know that url() specifiers are relative to the location of the stylesheet, not the html document, but in this case the html, the css, and the php are all in the same directory. I can't see what I could be doing wrong, so it really looks like you can't do it. But why?? And why isn't it mentioned in the documentation? (At least in the placers I've looked.) If you store all your images in a database, how on earth can you display any of them in CSS except by using a script in the url() specifier? I've seen plenty of tips about generating css files from php (I already do it), but that won't help in this case. All I can think of is to have php write the image data from the database into a temporary file, and put that file name into the url() specifier. But what a horrible kludge!! I will be very grateful to anyone who can give me solid facts on this question. Andrew Blake Hi friends, I am trying to make the background image at iamdesignermusic (dot) com to scroll to the left with the rest of the page when one clicks on the "music" or "video" link. here is what the CSS looks like for the background image: body { Code: Original - Code background-image: url(/images/background.jpg); background-color: #333333; background-repeat: no-repeat; margin-left: 0px; margin-top: 50px; margin-right: 0px; margin-bottom: 0px; background-position: top center; background-image: url(/images/background.jpg); background-color: #333333; background-repeat: no-repeat; margin-left: 0px; margin-top: 50px; margin-right: 0px; margin-bottom: 0px; background-position: top center; } div.button { margin-top:220px; } div.footer { margin-top:30px; } im redoing my website to try and make a version of it that is more clean because i got sloppy and fixing up sloppy code for me is alot harder than just starting over. i havent been working on my site for a few weeks or too much scripting in general so i might be making a dumb mistake, heres my problem http://mrsako.gotdns.com/newest.php this is where im making the newest version of my site, its going to be using css you can view the html if you want, you can see i included <link rel="stylesheet" type="text/css" href="stylesheet.css" /> inside it some of the lines include a class im making for a <td> of the table Code: .topbarTD{ border-style: none; border-width: thin; padding:0; height:187px; max-width:1024px; width: expression(document.body.clientWidth > 1024 ? "1024" : "auto" ); background-image:url("images/banner.jpg"); background-repeat: no-repeat; text-align:right; vertical-align:bottom; } which sort of works. the text align attributes applied to the page as you can see the text get put on the bottom right and also theres a blcok of space showing theres 187px there where the image would be, but its not showing up, mrsako.gotdns.com/images/banner.jpg DOES exist this is the table Code: <table class="container" cellpadding="0" cellspacing="0"> <tr> <td class="topbarTD" colspan="2">should be here</td> </tr> <tr> <td rowspan="2"> <img src="images/leftspace.png" width="165" height="472" alt=""></td> <td> <img src="images/topspace.png" width="859" height="95" alt=""></td> </tr> <tr> <td> <img src="images/mainspace.png" width="859" height="377" alt=""></td> </tr> <tr> <td colspan="2"> <img src="images/bottombanner.png" width="1024" height="107" alt=""></td> </tr> </table> I've got a <td> that contains a background image, a horizontal rule. I've defined this style this way: Code: td.columnHead { background-image: url(grafix/content/content_guide_top.gif); height: 19px; width: 229px; } Now I've defined h2 this way: Code: h2 { font-family: Impact, Verdana, Arial, Helvetica, sans-serif; font-size: 16px; color: #6A283E; font-weight: normal; background-color: #EBEBE0; padding-right: 8px; } Now here's the HTML: Code: <td class="columnHead"><h2>REQUIRED READING</h2></td> My intention is to have the table cell show the text against a plain background (as specified in the h2 style). Then, starting 8 pixels to the right of where this text ends, I want to see the background image. What happens is that the background image is completetly obscured on the h2 line. Then a new line in the <td> is created, and there I see my background image. This is in spite of the height of this <td>, which I've set at 19px. You can see an example of this here . Any suggestions? HI, I have a main div for my page which I'm going to put background image for the whole page but the problem is when I write background-image in a style ,The image display below other divs and most of the part of the image does not show.how can I bring the image on the front? I hope it's clear. Thanks My page is a fixed width - 960px and it displays centred on browsers with a wider viewport than that. My new footer contains an image and is also 960px wide, and I have faded versions of that footer image which I want to display to the left and right of the footer image to extend that picture across a complete viewport. Trouble is, I've no idea where to start on doing that! Say for example my visitor has a 1600x1200 resolution, I want to display my 960px content and leave about 320px of blank space each side, and when they scroll down to the footer have a tiled image for 320px, then my main footer image, then another 320px of tiles. Or something. |