CSS - Ie6 Sprite Problem
hi....
i'm currently having this issue with ie6. I have a png sprite image. In the sprite there is a rounded corner frame. When i apply the neccessary css.. it work perfectly with ff.. but for ie.. i can not seem to move/translate the background to the correct path.. i've tried using background-position. it works with ff but not with ie6.. here is the code snipplet Code: #image{ background:url(images/160x120_image.jpg) no-repeat; width:160px; height:120px; position:relative; } #frame{ width:160px; height:120px; background:url(images/sprite.png) no-repeat -59px 0; _background:none; _filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src='images/sprite.png',sizingMethod='crop'); } </style> <div style="width:200px; margin:20px auto;"> <div id="image"> <div id="frame"></div> </div> </div> here is the sprite does anyone have any clues to move the sprite to the correct position?? Thanks in advance Similar TutorialsHello, I have created a CSS Sprite containing the many different list bullets, in a vertical form. I have then defined the different li styles. This all works, however, the bullet background is showing the other bullet styles when the li spans more than one line. It's probable best if I show you what I mean: http://snkhan.co.uk/origami.php The corresponding CSS is: Code: #content ul {margin: 0 0 20px 0; padding: 0;} #content li {list-style: none; background: url(../images/list.png) no-repeat scroll 0px -34px; padding-left: 20px;} and Code: #community > li {background: url(../images/list.png) no-repeat scroll 0px -18px !important;} #music > li {background: url(../images/list.png) no-repeat scroll 0px -16px !important;} #twitter > li {background: url(../images/list.png) no-repeat scroll 0px -18px !important;} Is there anyway I can prevent the li background showing more than 16px x 16px at a time? Thank you for your time. I currently have a menu sprite set up that works. I also have a css dropdown menu set up as well in conjunction with the sprite menu. Issue: The dropdown does not work in IE6. It drops down behind the div just below it (never to see it until I hid the contents in the div below) even after adding z-index to nearly every attribute. After hiding the contents in the div below, I see the drop down, but as soon as I mouse over it, it disappears. This has been a headache for me and I need to get this resolved asap. Here is the CSS: aunkor.com/css.html Here is the HTML: aunkor.com/html.html Please help! >_< Hello folks, I am trying to get a basic sprite working. I have been reading on this for over a week and I think I am missing something very basic. I made a couple sprite png's in photo shop could not get them to display correctly and I found a place online that makes them for U, it displays just like the ones I made... so http://www.realestateozarks.com/mcnally/mcn.png Ok what is happening when I try and call the sprite and display a pic on it, it does correct width and height but divides the height by the 6 pictures on it and displays all of them instead of 1. http://www.realestateozarks.com/rsstest.htm and U can see what I am trying to say. I am not trying to do anything fancy here only display 1 pic out of the 6 correctly. if I call the sprite in a image statement like <img class="sprite mcn1 mc5"> it does display the img correctly... but that is not correct html code and if alt statment is added it displays it on top of pic. css code passes w3c.org test NOTE: if I try and display a individual pic in a td statment like <td class="sprite mcn1 mc5"> it displays the picture correctly... well as a backround image anyway... here is my html code to call sprite... In head statment Code: <link href="mcsprite.css" rel="stylesheet" type="text/css" > in body to call pic Code: <img src="../mcnally/mcn.png" class="sprite mcn1 mc5"> Here is code in my mcsprite.css file Code: .sprite {background:url(../mcnally/mcn.png); background-repeat:no-repeat; } .mcn1 {height:125px;} /* mcn1 */ .mc1 {width:200px; background-position: 0px 0px;} .mc2 {width:200px; background-position: 0px -135px;} .mc3 {width:200px; background-position: 0px -270px;} .mc4 {width:200px; background-position: 0px -405px;} .mc5 {width:200px; background-position: 0px -540px;} .mc6 {width:200px; background-position: 0px -675px;} If I can get it to display 1 pic correctly then I can change my code and display all 6 pics correctly. I have 24 pic's on my home page so using a couple sprites with 6 pic's each on them with .2 sec latency on grabbing each individual pic will save me about 2 sec load time on my home page. thanks in advance for any suggestions/help whonoes Hi everyone I recently stumbled upon the CSS sprite idea and i've been loving it! Makes changing and adding graphics so much easier. However i've run into a concern. My image sprite is becoming quite large (>150KB) and my HTML code has many divs who's background refers to this sprite (can get upto 100 divs). With this i've started to notice slight sluggishness of my HTML page and got me thinking weather i should divide my large sprite into a number of smaller ones to enhance performance. This is mainly because i have quite a lot of hover effects (which merely shift the background position) and i suspect this is causing the sluggishness and high memory usage. It's far too time consuming to try this myself so i'm wondering if anyone has any experience with such an action. Many thanks So I have been trying to troubleshoot this issue for days and can't come up with a solution. I hope someone out there can help!! So my navigation image sprite is not displaying correctly in IE7 or 6. It basically shows the whole sprite image scrunched up into the defined 100px height of the <ul>. Also, the sprite image has a width of 930px but in Firefox it begins to repeat the image even though the <ul> width is 930px. So I added the no-repeat to the background image sprite. Now it's not centered on the page. What's up with this? Also, I am trying to display the pictures on the page with one large pic on the left and then 4 images to the right of the large image. You'll have to see it to understand. It displays perfectly how i want in Firefox...and of course IE7 and 6 are all out of wack. Not sure what I am doing wrong here as well. I used a grid system, but it is not locking it in like it normally does. You can see the sprite and alignment issues if you view in IE 7 and how I want it to look in Firefox. Here's my coding: HTML: Code: <body id="pretty-pics"> <div id="container"> <div id="navigation"> <ul id="nav"> <li id="home"><a href="/">home</a></li> <li id="essence"><a href="../essence.html">essence</a></li> <li id="pictures"><a href="/pretty-pictures.html">pretty pictures</a></li> <li id="treasures"><a href="/treasures.html">treasures</a></li> <li id="contact"><a href="/contact.html">contact</a></li> </ul> </div><!--end nav--> <div class="clear"></div> <div class="pic-wrap col12"> <div class="col5 float-left"> <a href="images/products/product-1.jpg" rel="shadowbox[products]" title="Necklace"><img id="product-1" src="images/products/product-1-t.png" /></a> </div> <div class="col7 float-right"> <div class="col4 float-left"> <a href="images/products/product-2.jpg" rel="shadowbox[products]" title="Bracelet"><img id="product-2" src="images/products/product-2-t.png" /></a> <a href="images/products/product-4.jpg" rel="shadowbox[products]" title="Bracelets"><img id="product-4" src="images/products/product-4-t.png" /></a> </div> <div class="col3 float-right"> <a href="images/products/product-3.jpg" rel="shadowbox[products]" title="Necklaces"><img id="product-3" src="images/products/product-3-t.png" /></a> <a href="images/products/product-5.jpg" rel="shadowbox[products]" title="Necklaces"><img id="product-5" src="images/products/product-5-t.png" /></a> </div> <div class="clear"></div> </div> </div><!--end main wrapper--> CSS: Code: #pretty-pics{ background: #32b4c9 url(images/wall-bg.jpg) no-repeat scroll center 0px; } /* Main Navigation */ #nav{ width: 930px; height: 100px; background: url(images/sprite.png) no-repeat; margin: 20px auto; position: relative; } #nav li{ margin: 0; padding: 0; list-style: none; position: absolute; top: 0; text-indent: -9999px; } #nav li, #nav a{ height: 100px; display: block; } #home{ left: 0; width: 186px; } #essence{ left: 186px; width: 186px; } #pictures{ left: 372px; width: 186px; } #treasures{ left: 558px; width: 186px; } #contact{ left: 744px; width: 186px; } #home a:hover{ background: transparent url(images/sprite.png) 0 -104px no-repeat; } #essence a:hover{ background: transparent url(images/sprite.png) -186px -104px no-repeat; } #pictures a:hover{ background: transparent url(images/sprite.png) -372px -104px no-repeat; } #treasures a:hover{ background: transparent url(images/sprite.png) -558px -104px no-repeat; } #contact a:hover{ background: transparent url(images/sprite.png) -744px -104px no-repeat; } #essence a.current{ background: transparent url(images/sprite.png) -186px -208px no-repeat; } #pictures a.current{ background: transparent url(images/sprite.png) -372px -208px no-repeat; } #treasures a.current{ background: transparent url(images/sprite.png) -558px -208px no-repeat; } #contact a.current{ background: transparent url(images/sprite.png) -744px -208px no-repeat; } /* Pictures */ .pic-wrap{ height: 550px; margin: 50px auto; } #product-1{ margin: 10px 0 0; } #product-2{ margin: 10px 50px 0; } #product-3{ margin: -40px 20px 0; } #product-4{ margin: 20px 70px 0; } #product-5{ margin: 30px 0 0; } ANY help is appreciated. I am tired of pulling my hair out over this one! Thanks in advance!!! Hi, I'm trying to transmogrify a Listamatic menu http://css.maxdesign.com.au/listamatic2/vertical06.htm by adding my own graphic. But I'm not able to take out the borders or get my header to 'touch' the list. I've removed the borders from the CSS but I'm left with a gap between my images. See the file he http://cftest.mccormick.com/mc3stage/listbox.htm What I really want is the rollover images to butt up against each other. Of course it looks fine in FF! Can you help? Glen Code: <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html lang="en"> <head> <meta http-equiv="content-type" content="text/html; charset=iso-8859-1"> <title>Listamatic2: Subtle box list</title> <style type="text/css"> #rnav { padding: 0px; margin: 0px; width: 223px; border-left: 1px solid #b48932; border-bottom: 1px solid #b48932; border-right: 1px solid #b48932; } #navcontainer { margin: 0px; } #navcontainer ul { margin: 0; padding: 0; list-style-type: none; font-family: verdana, arial, Helvetica, sans-serif; } #navcontainer li { margin: 0; } #navcontainer a { display: block; padding: 5px 10px; width: 203px; color: #000; background-color: #ADC1AD; text-decoration: none; font-weight: bold; font-size: .8em; background-image: url(assets/mc3_rnav_arrowon.gif); background-repeat: no-repeat; background-position: 0 0; } #navcontainer a:hover { color: #000; background-color: #889E88; text-decoration: none; background-image: url(assets/mc3_rnav_arrowoff.gif); background-repeat: no-repeat; background-position: 0 0; } #navcontainer ul ul li { margin: 0; } #navcontainer ul ul a { display: block; padding: 5px 5px 5px 30px; width: 185px; color: #000; background-color: #C5D8C5; text-decoration: none; font-weight: normal; } #navcontainer ul ul a:hover { color: #000; background-color: #889E88; text-decoration: none; } #rnavheader { padding: 0px; margin: 0px; } </style> </head> <body> <div id="rnavheader"> <img src="assets/mc3_rnav_header.gif" /> </div> <div id="rnav"> <div id="navcontainer"> <ul id="navlist"> <li id="active"><a href="#" id="current">Item one</a></li> <li><a href="#">Item two</a></li> <li><a href="#">Item three</a></li> <li><a href="#">Item four</a></li> <li><a href="#">Item four</a></li> </ul> </div> </div> </body> </html> Im struggling here trying to replace this code. any help would be appreciated. Now To go into details I have a magento template. Im trying to replace the default navigation text menu to a css sprite top image menu. the default navigation text menu css code is stated below Quote: /********** < Navigation */ .nav-container {} #nav {padding:0; margin:0; font-size:11px; border-bottom:1px solid #000; } /* All Levels */ #nav li { text-align:left; position:relative; border-right:1px solid #000;} #nav li a, #nav li a span{background:url(../images/menu_bg.gif) left top repeat-x #141314;} #nav li.first{background:url(../images/menu_corner_left.png) left top no-repeat; padding-left:5px;} #nav li.first a span{padding-left:42px;} #nav li.over.first, #nav li.active.first{background:url(../images/menu_corner_left_active.png) left top no-repeat;} #nav li.last a{background:url(../images/menu_corner_right.png) right top no-repeat; padding-right:5px;} #nav li.last a span{padding-right:38px; padding-left:45px;} #nav li.over.last a, #nav li.active.last a{background:url(../images/menu_corner_right_active.png) right top no-repeat;} #nav li.over a span, #nav li.active a span{background:url(../images/menu_bg_active.gif) left top repeat-x #1E1F1F; padding-bottom:16px;} #nav li.over, #nav li.active{border-bottom:1px solid #2C2B2C;} #nav li.over { z-index:999; } #nav li.parent {} #nav li a { display:block; text-decoration:none; } #nav li a:hover { text-decoration:none; } #nav li a span { display:block; padding:20px 43px 17px 47px; text-transform:uppercase; white-space:nowrap; cursorointer; } #nav li ul a span { white-space:normal; } /* 1st Level */ #nav li { float:left; } #nav li a { float:left; padding:0; color:#FFF; } #nav li a:hover { color:#FFF; } #nav li.over a, #nav li.active a { color:#FFF; } /* 2nd Level */ #nav ul { position:absolute; width:17em; top:50px; left:-10000px; border:1px solid #202020; border-bottom:0; background:#070707; font-size:9px; } #nav ul li { float:none; border-bottom:1px solid #202020!important; background:0; } #nav ul li.last { border-bottom:0; } #nav ul li a { float:none; padding:3px 9px; font-weight:normal; color:#888 !important; background:0!important; } #nav ul li a:hover { color:#FFF !important; } #nav ul li a span{padding:3px 5px!important; background:0!important;} #nav ul li.active > a, #nav ul li.over > a { color:#FFF !important; } /* 3rd+ leven */ #nav ul ul { top:7px; } /* Show Menu */ #nav li.over > ul { left:0; } #nav li.over > ul li.over > ul { left:100px; } #nav li.over ul ul { left:-10000px; } /********** Navigation > */ Ok now after viewing the code above i was wondering how can i add the css sprite image code that i made to replace the default navigation text menu. Below is the css code i made for the sprite images. Quote: #navigation { margin: 0; padding: 0; width: 969px; height: 53px; Background-image: url(lastone.gif) ; } #navigation li { margin: 0; padding: 0; list-style-type: none; display: inline; height:53px; text-align: center; float:left; line-height:53px; } #navigation a { display:block; height:52px; } #navigation a:hover { background-image: url(lastone.gif) ; } #nav-home { width:161px; } #nav-home a:hover { background-position:bottom 0; } #nav-Service { width:161px; } #nav-Service a:hover { background-position:bottom -162px; } #nav-Quicklinkz { width:161px; } #nav-Quicklinkz a:hover { background-position:bottom -323px; } #nav-Advertise { width:161px; } #nav-Advertise a:hover { background-position:bottom -484px; } #nav-Contact { width:161px; } #nav-Contact a:hover { background-position:bottom -645px; } #nav-About { width:161px; } #nav-About a:hover { background-position:bottom -806px; } #navigation span { display: none; } AS you can see below i also have inserted the HTML that correspond to the css sprite image menu code. I link the css code into the html. so my final 2 questions is. can anyone replace the css code i made in the default css code. and after thats done which root do i upload the html code to. Code: <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>Navigation Menu</title> <link rel="stylesheet" type="text/css" href="menu.css"/> </head> <body> <ul id="navigation"> <li id="nav-home"><a href="#"><span>Home</span></a></li> <li id="nav-Service"><a href="#"><span>Service</span></a></li> <li id="nav-Quicklinkz"><a href="#"><span>Quicklinkz</span></a></li> <li id="nav-Advertise"><a href="#"><span>Advertise</span></a></li> <li id="nav-Contact"><a href="#"><span>Contact</span></a></li> <li id="nav-About"><a href="#"><span>About</span></a></li> </ul> </body> </html> I'm new with this image sprite method, at least with the type of image I have copied. I have it mostly working, but for some reason it word wraps the two word text that appears over the image. Here is a link to the example: ... EDIT: It seems I can't post a URL. I'll try on the second post. It is located in the Test Data tab on this product page. The button that says View More. View on one line, More on the other. I'm thinking it is an issue with my HTML more than the CSS. I've tried many different variations with not much like. I can break it more, but can't seem to fix it. Any help or guidance is appreciated. I am looking to make a navigation menu similar to the following: http : / / www . coremediadesign.co.uk/website_design_company/about_core_media_design.html This is the sprite image they use. http : / / img819.imageshack.us/img819/8185/menuo.png I would like to accomplish the same thing. I am NOT looking for one long image with my entire menu in image format. I want a three-part background image/sprite like the one I posted above that is used as the background/hover/active by repeating it on the x-axis. I have tried for a long time to get this working but have not been able to. Please help me out. Hey everyone, I'm trying to convert a jscript rollover setup to using CSS sprites. I have setup the following sprite: [IMG]eagleonedims.com/images/navmap.jpg[/IMG] I cannot figure out how to have the <li> sections replace the entire ba6nner with a shifted-down sprite upon rollover. The shifted sprite just appears within the boundaries of the respective<li> section. The reason for needing this is to include the cloud effect which overlap the other li sections. Basically, upon rollover I need the ENTIRE navmap.jpg image to be shifted by 88px down. The image is 1000px wide and each sprite is 88px tall. Thanks for any help! CSS: Code: #navmap { width: 1000px; height: 88px; background: url("images/navmap.jpg"); margin: 0; padding: 0; position: relative; } #navmap li { margin: 0; padding: 0; list-style: none; position: absolute; top: 0; } #navmap li, #navmap a { height: 88px; display: block; } #home {left: 141px; width: 110px;} #about {left: 251px; width: 120px;} #pricing {left: 371px; width: 120px;} #quote {left: 491px; width: 120px;} #contact {left: 611px; width: 120px;} #login {left: 731px; width: 128px;} #home a:hover {background: url("images/navmap.jpg") 0px -88px no-repeat;} #about a:hover {background: url("images/navmap.jpg") 0 -176px no-repeat;} HTML: Code: <ul id="navmap"> <li id="home"><a href="index.php">Home</a></li> <li id="about"><a href="about.php">About</a></li> <li id="pricing"><a href="pricing.php">Pricing</a></li> <li id="quote"><a href="quote.php">Quote</a></li> <li id="contact"><a href="contact.php">Contact</a></li> <li id="login"><a href="login.php">Login</a></li> </ul> I am using a single gif file as an image sprite and want to link the file name in another style sheet so i can reuse this sheet without having to have many copys of the style sheet with a different file names example: Currently like this Code: #store{left:-200px;width:158px;} #store{background:url('mred.gif') -150px -161px;} #store a:hover{background: url('mred.gif') -150px 0;} #fourms{left:0px;width:158px;} #fourms{background:url('mred.gif') -304px -161px;} #fourms a:hover{background: url('mred.gif') -304px 0;} want like this #home{left:-200px ;width:150px;} #home{background:inherit;background-position: 0 -161px;} #home a:hover{background-position: 0 0;} with the background:url('mred.gif') specified in another style sheet once insted of repeating over the entire sheet. effectively so i can just change the other external style sheet to change the gif file and keep this one the same. HOW? possible? Hey, I think i just need someone else to look at this for me. I've been coding all day and would probably be able to figure this out if I just went to bed and did it tomorrow. If you roll over an image that's alson an anchor at www.deeperdevotion.com/wp, you'll find that it places a background-color or underline or both on it. The thing is, I can't find the code in my CSS that's causing me the trouble. my css is located at www.deeperdevotion.com/wp/wp-content/themes/dd/styles/101106.css Thanks. Hello everyone, I am hoping I could get some help on this. I'm the new Marketing guy at this company. One of my duties is to fix an issue with our website which was built by the last guy to sit in this chair. I may not know how to build a proper webpage, but this guy knew exactly how not to do it and ran with just that. So, the issue lies within this example page: tinyurl.com/rediculouswebsite The footer ends up under-lapping the table when viewed in IE (when not in compatibility mode) and Firefox. I know this is a ridiculously constructed site, I just need to fix this one problem and be done with web development forever. High fives and scotch from my boss very well may ensue. Thank you all very much. Hello. I am new at css and web design so if these are easy problems please excuse. First of all, the website url http://www.onlinecasinoboss.com In Firefox, the unordered lists <ul> in the left column do not display correctly. The left margin is way too big. I'm not sure why, please look at the page in IE to see what I want it to look like. And in Internet Explorer, the spacing between my top image, header bar, and main page is screwy. There should be no space between the header image and header bar (the flags are in this area). Also there should only be 2px spacing between the header and the main page, however it appears there is atleast 24px there. Again please refer to the page in FF to see what I want it to look like. I like css, and have decided to pursue my first design in css based off of the many professional designers reconmendations and reviews. But I must say it is a major headache to deal with cross-browser/platform display problems. And what professional designer wants to rely on 'css-hacks' when producing a product for a major vender. Just beginner bitching. Thanks for the help! Problem solved, thank you very much Go to my site. Click on Pokemon. What do I need to do to make it so the layout works on every page with every browser? Do I need to edit my .CSS file? I have two pages that are giving me problems, only in IE of course. On the first, http://www.jaypaulstudio.com/galler...ure/summer.html or even http://www.jaypaulstudio.com/galler...eachdancer.html I think the difference in margins causes the problem, but the scroll bar extends outside of the bounds of the page (the blue part). The second, http://www.jaypaulstudio.com/galler...ture/budda.html is different; I cannot make the page contents left align without breaking everything else in the content. My style sheet is he http://www.jaypaulstudio.com/main.css Any solutions or suggestions would be much appreciated. Even a good site on how to hack css for IE... Sarah I've spent a good amount of time searching this site for an answer. Although I found some good information, I am still hitting this brick wall. My DIV tag works in IE but not FF. Below are three links. The top two are to my site and the one below is to another site doing the same thing I'm doing but working fine in both browsers. I can't explain it any better. http:www.humito.com/contact.html (set up for IE) http:www.humito.com/contact2.html (set up for FF) http://plazamexico.com/menu/abouttheplaza.html (just like first link) can someone share some insight. I'm trying to migrate my web site from layout with HTML tables to a CSS-only layout. After a great deal of blood and tears, I was able to get the page to display the way I wanted in Mozilla Firefox version #1.0. However, I'm having a problem in Internet Explorer 6. I'm using a 3-column layout. I want to split a portion of the center column into 2 divisions that lay out side by side. The left division will display an image. The right side some text. IE6 stacks the content vertically, instead of side by side. I've attached the CSS file and HTML file in a zip file. If you could take a look at my code, and suggest a hack for IE6, I'd appreciate it. The Sunburned Surveyor P.S. - Other comments on ways to improve the code or page layout are also welcome. Hey all, I'm having this problem with some code. as you can see, I have a wrapper div keeping everything centered. Then I have a headwrap div keeping the menu etc together and below that I want to have content. Here is the HTML <div id="wrapper"> <div id="headwrap"> <div id="title"></div> <div id="menuarea"> <div id="menupic"></div> <div id="nav"> <ul> <li id="one"><a href="#">Home</a></li> <li id="two"><a href="#">Buy</a></li> <li id="tre"><a href="#">Sell</a></li> <li id="for"><a href="#">About</a></li> <li id="fiv"><a href="#">Contact</a></li> </ul> </div> </div> </div> <div id="content"></div> </div> Here is the CSS #wrapper { width:780px; margin:0 auto; text-align:left; } #headwrap { width:780px; height:auto; margin:0px; padding:0px; } #title { float:left; width:262px; height:300px; border:1px solid #97A953; } #menuarea { float:right; width:510px; height:300px; border:1px solid #97A953; } #content { font-size:12px; } In IE the content div shows up below the headwrap div just fine. I can add a margin on top to drop the content down a bit without problems. BUT in FF the content div ends up enveloping the headwrap. When that happens I can't margin the top. It just ends up pushing down the headwrap div, too. Any thoughts as to why this is happening pls? |