CSS - Positioning A Repeating (x) Background Image
Hi there,
I'm trying to position a background image (starting 756 pixels from the left) which is repeating horizontally - but of course am running into problems because as soon as you repeat-x an image repeats the whole screen, not taking into account background positions. Does anyone have any ideas how I can possibly avoid this?! The only thing I can think of is to create a huge image to factor in for all screen solutions, and just not repeat it at all. I'd prefer not to do it this way as firstly it's not very clean, and secondly it will result in a large file size. Here is a link to the background image to show you what I'm talking about: http://joshsphotos.com/images/bg.jpg I've also put in the CSS that would show what I'm trying to achieve. Code: body { background-image: url(../images/bg_repeat.jpg); background-position: 756px 0px; background-repeat: repeat-x; } Any help would be most appreciated. Similar Tutorialsi have a background image and its all fine untill you have too much information on the page and then it repeats itself. i know the reason it does that is because the image has a certain height and that height has been reached. i was wondering is there a way around that? my background fades in to black and i just want the black to continue. here is an example of my problem. http://www.bleanphotos.co.uk/image.php?id=3 thanks for reading Ok.. I couldn't find anything on this so figured i'd see if ya knew if either of these were possible using CSS (or any other mean): a) Can you set a background image to repeat a certain number of times? or b) Can you set a background image to repeat only if it will fit the entire image in the space that remains... (for example, I have a small image that I would like to just repeat 4 or 5 times, but dont want it to be cut off if it can only fit like 4 and a half of the images) Thanks. Hello all - I am currently having a problem with a background image not being repeated properly. There are two images that need to be repeated, div#topbg and div#leftbg. Topbg is being repeated-x correctly, but I am having problem with Leftbg being repeated-y. The Leftbg will repeat vertically but stops repeating until it reaches the end of the background image of div#wrapper. Could someone provide a solution to this? I need it to repeat all the way down the page! Here is the code for those that know of a simple solution. For those that need to look a bit more into it I have included a zip file as attachment to show just exactly what is wrong.. Please help! The CSS code: Code: html, body { height: 100%; } body { margin: 0px; padding: 0px; font : 12px/14px Verdana, Geneva, Arial, Helvetica, sans-serif; color: #000000; text-align: left; } div#topbg { width: 100%; height: 145px; background : url(../images/top-bg.gif) repeat-x top left; } div#leftbg { position: absolute; top: 0px; left: 0px; height: 100%; background : url(../images/left-bg.gif) repeat-y; } div#wrapper { position: absolute; top: 0px; left: 0px; width: 758px; height: 100%; margin: 0px; padding: 0px; background: url(../images/bg.jpg) no-repeat top left; } div#container { padding: 145px 0px 0px 125px; } div#content { width: 100%; margin: 0px; padding: 0px; float: left; } The HTML code: Code: <body> <div id="topbg"></div> <div id="leftbg"></div> <div id="wrapper"> <div id="container"> <div id="text">content</div> </div> </div> I've got a problem with a site I'm developing. I want to repeat-x a body background pattern, but the problem is that it overlays another version of itself just where my container div starts. Anyone know what's going on here? Code: html, body{ background-color:#AFC4E2; background-image:url(bgmew.jpg);background-position: top center; background-repeat:repeat-x; color:#234; font-family:Georgia, "Times New Roman", Times, serif; font-size:100%; text-align:center; } a{ font-family:Georgia, "Times New Roman", Times, serif; font-size:90%; color:#678; text-decoration:none; font-weight:bold; background:inherit; } a:hover, a:active{text-decoration:underline;} p{ font-family:Georgia, "Times New Roman", Times, serif; font-size:90%; font-weight:normal; color:#234; background:inherit; } #container{ width:760px; height:auto; background-color:#FFFFFF; color:#234; border:2px solid #999; padding:10px; margin: 50px auto; text-align:left; } (URL address blocked: See forum rules)/erwinsample/ Thanks for any help you can give me. I've got a problem with a site I'm developing. I want to repeat-x a body background pattern, but the problem is that it overlays another version of itself just where my container div starts. Anyone know what's going on here? Code: html, body{ background-color:#AFC4E2; background-image:url(bgmew.jpg);background-position: top center; background-repeat:repeat-x; color:#234; font-family:Georgia, "Times New Roman", Times, serif; font-size:100%; text-align:center; } a{ font-family:Georgia, "Times New Roman", Times, serif; font-size:90%; color:#678; text-decoration:none; font-weight:bold; background:inherit; } a:hover, a:active{text-decoration:underline;} p{ font-family:Georgia, "Times New Roman", Times, serif; font-size:90%; font-weight:normal; color:#234; background:inherit; } #container{ width:760px; height:auto; background-color:#FFFFFF; color:#234; border:2px solid #999; padding:10px; margin: 50px auto; text-align:left; } ajarnforumDOTnet/erwinsample/ Thanks for any help you can give me. I'm trying to get a background image/color to repeat down the left hand column of a site, he http:// www. lisaannschleipfer .com, but can't seem to get it working in either FF or IE. You'll notice that in the left hand column, the tannish color does not repeat all the way down the column. I'm fairly certain I've narrowed it down to the bit of CSS code he Code: div#wrapper { margin: auto; width:800px; background: #d1c8ab url(../images/wrapper_bg.jpg); background-repeat: repeat-y; } I've tried looking around the forum for some solutions, and have found a few possibilities (height: auto, overflow: auto, etc), but nothing that I have tried to insert into the stylesheet has seemed to work. Does anyone have any suggestions or solutions? I'd appreciate it! Here's the entire stylesheet, for reference: Code: html { height: 100%; margin-bottom: 0px; } form { margin: 0; padding: 0; } img,table { border:none; } table td { vertical-align:top; } body { font-family: Helvetica,Arial,sans-serif; line-height: 1.3em; margin: 0px 0px 0px 0px; font-size: 12px; color: #666666; background: #0d789c url(../images/bg.jpg) top center repeat-x; } a:link, a:visited { text-decoration: none; font-weight: normal; color: #0d789c; } a:hover { text-decoration: underline; font-weight: normal; color: #0d789c; } input.button { cursor: pointer; vertical-align: bottom; border: 0px; background:none; } p { margin-top: 0; margin-bottom: 5px; text-align:justify; } /*****************************************/ /*** Template specific layout elements ***/ /*****************************************/ #header { margin:0 auto; width:940px; } .left_bg { background: transparent url(../images/left_bg.jpg) top right no-repeat; width:70px; } .middle_bg { background: transparent url(../images/.jpg) top right no-repeat; width:800px; } .right_bg { background: transparent url(../images/right_bg.jpg) top left no-repeat; width:70px; } .top_bg { background: transparent url(../images/top_bg.jpg) top center no-repeat; width:800px; height:45px; } .rightside { background: transparent url(../images/rightside_bg.jpg) top center no-repeat; width:185px; height:173px; } .header_bg { background: transparent url(../images/header_bg.jpg) top center no-repeat; width:615px; height:173px; } #page_bg { padding: 0; margin:0px auto; } #top { width:800px; margin:0 auto; padding:0; } div.center { padding:0; } div#wrapper { margin: auto; width:800px; background: #d1c8ab url(../images/wrapper_bg.jpg); background-repeat: repeat-y; } #logo { padding:47px 50px 0 50px; height:100px; text-align:left; margin:0 auto; } #logo a, #logo a:link, #logo a:hover { font-weight: normal; font-family : "Trebuchet MS", Arial, Helvetica, sans-serif; font-size: 36px; padding:0px; margin:0; line-height:1.4em; letter-spacing:2px; color:#fefefe; text-decoration:none; } div.newsflash { height:150px; padding:10px; overflow: hidden; color:#fff; text-align:left; } div#tabarea { margin: 0; width:615px; height:26px; text-align:left; } #footer { width:800px; margin:0 auto; } .validation { float:right; padding:8px 20px 0 0; } #footer .footer { background: transparent url(../images/footer.jpg) top center no-repeat; height:28px; width:800px; } #pathway { padding: 0px 10px 8px; width: auto; margin-right: 250px; text-align: left; } #search { float: right; width:320px; margin-top: -20px; margin-right: 20px; height: 40px; overflow: hidden; text-align:right; } #area { padding: 0; width:100%; /* color:#d1c8ab; */ } #whitebox { margin: 0; width: auto; } #whitebox div { text-align: left; } #whitebox_br { height: 13px; background: url(../images/mw_content_b_r.png) 100% 100% no-repeat; } /* horizontal pill menu */ .pill { margin:0px 0 0 1px; text-align:left; } td.pill_m { padding: 0; margin: 0 10px; width: auto; text-align:center; } #pillmenu { white-space: nowrap; height: 26px; float: left; } #pillmenu ul { margin: 0; padding: 0; list-style:none; } #pillmenu li { float: left; margin: 0px 1px 0 0; padding: 0; background: transparent; } #pillmenu a { font-family: Arial, Helvetica, sans-serif; font-size: 11px; font-weight: normal; float:left; display:block; height: 24px; line-height: 24px; padding: 2px 10px 0 10px; color: #fff; text-decoration: none; background: transparent; } #pillmenu a:hover { text-decoration: underline; } #pillmenu a#active_menu-nav { color: #fff; background: url(../images/active_arrow.gif) top center no-repeat; } #pillmenu a#active_menu-nav:hover { color: #fff; } #leftcolumn { margin: 0; text-align:left; width: 221px; float:left; background: #d1c8ab url(../images/leftcol_bg.jpg) top left no-repeat; } div#maincolumnfull { padding:2px 10px; float:left; width: 760px; } div#maincolumn { padding:20px 10px; float:left; width: 559px; background: #ffffff url(../images/maincol_bg.jpg) top left no-repeat; } div.nopad { padding: 0; text-align:left; } td.middle_pad { width: 20px; } /*****************************************/ /*** Joomla! specific content elements ***/ /*****************************************/ div.offline { background: #fffebb; width: 100%; position: absolute; top: 0; left: 0; font-size: 1.2em; padding: 5px; } span.pathway { display: block; margin: 0 20px; height: 16px; line-height: 16px; overflow: hidden; } /* headers */ div.componentheading { padding-left: 0px; } h1 { padding: 0; font-family:Helvetica ,Arial,sans-serif; font-size: 1.3em; font-weight: bold; vertical-align: bottom; color: #666; text-align: left; width: 100%; } h2, .contentheading { padding: 0; font-family: Tahoma, Helvetica,sans-serif; font-size: 12px; font-weight: bold; vertical-align: bottom; color: #8cb6cf; text-align: left; width: 100%; } table.contentpaneopen h3 { margin-top: 25px; } h4 { font-family: Arial, Helvetica, sans-serif; color: #333; } h3, .componentheading, table.moduletable th, legend { margin: 0; font-weight: bold; font-family: Tahoma,Helvetica,Arial,sans-serif; color:#71a7c8; font-size: 1.4em; padding-left: 0px; margin-bottom: 10px; text-align: left; } /* small text */ .small { font-size: .90em; color: #999; font-weight: normal; text-align: left; } .modifydate { height: 20px; vertical-align: bottom; font-size: .90em; color: #999; font-weight: normal; text-align: left; } .createdate { height: 20px; vertical-align: top; font-size: .90em; color: #999; font-weight: normal; vertical-align: top; padding-bottom: 5px; padding-top: 0px; } a.readon { margin-top: 10px; display: block; float: left; background: url(../images/mw_readon.png) top right no-repeat; padding-right: 20px; line-height: 14px; height: 16px; } /* form validation */ .invalid { border-color: #ff0000; } label.invalid { color: #ff0000; } /** overlib **/ .ol-foreground { background-color: #f6f6f6; } .ol-background { background-color: #666; } .ol-textfont { font-family: Arial, Helvetica, sans-serif; font-size: 10px; } .ol-captionfont { font-family: Arial, Helvetica, sans-serif; font-size: 12px; color: #f6f6f6; font-weight: bold; } .ol-captionfont a { color: #0B55C4; text-decoration: none; font-size: 12px; } .ol-closefont {} /* menu links */ a.mainlevel:link, a.mainlevel:visited { padding-left: 5px; } a.mainlevel:hover { } /* spacers */ span.article_separator { display: block; height: 20px; } .article_column { padding-right: 5px; } .column_separator { border-left: 1px dashed #e0e0e0; padding-left: 10px; } td.buttonheading { } .clr { clear: both; } div#maindivider { border-top: 1px solid #ddd; margin-bottom: 10px; overflow: hidden; height: 1px; } table.blog span.article_separator { display: block; height: 20px; } /* table of contents */ table.contenttoc { margin: 5px; border: 1px solid #ccc; padding: 5px; } table.contenttoc td { padding: 0 5px; } /* content tables */ td.sectiontableheader { background:transparent url(../images/sectiontableheader_bg.gif) top left repeat-x; color: #fff; font-weight: bold; padding: 4px; border-right: 1px solid #fff; } tr.sectiontableentry0 td, tr.sectiontableentry1 td, tr.sectiontableentry2 td { padding: 6px; } td.sectiontableentry0, td.sectiontableentry1, td.sectiontableentry2 { padding: 3px; } tr.sectiontableentry1 { background:#f3f3f3; } tr.sectiontableentry2 { background:#fefefe; } /* content styles */ table.contentpaneopen, table.contentpane { margin: 0; padding: 0; } table.contentpaneopen li { margin-bottom: 5px; } table.contentpaneopen fieldset { border: 0; border-top: 1px solid #ddd; } table.contentpaneopen h3 { margin-top: 25px; } table.contentpaneopen h4 { font-family: Arial, Helvetica, sans-serif; color: #333; } .highlight { background-color: #fffebb; } /* module control elements */ table.user1user2 div.moduletable { margin-bottom: 0px; } div.moduletable { margin-bottom: 25px; } div.module_menu, div.module { margin: 0 0 0 2px; padding: 0; margin-bottom: 15px; } div.module_menu div div div div ,div.module div div div div { background: none; padding: 0; } div.module_menu div, div.module div { } div.module_menu div div, div.module div div { padding:0 0 10px 0; } div.module_menu div div div, div.module div div div { padding: 0px; width: auto; } div.module_menu ul li a:link, div.module_menu ul li a:visited, div.module ul li a:link, div.module ul li a:visited { font-weight: normal; background:transparent url(../images/blue/bullet2.jpg) top left no-repeat; line-height:24px; } #leftcolumn div.module table ,#rightcolumn div.module table { width: auto; } #leftcolumn h3, #rightcolumn h3 { height:36px; color:#fff; font-weight: bold; font-family: Tahoma, Helvetica,Arial,sans-serif; font-size: 12px; line-height:26px; margin: -2px 0 0 ; position:absolude; padding:0px 0 2px 22px; text-align: left; width:198px; background:transparent url(../images/h3_bg.gif) top left no-repeat; } #leftcolumn .moduletable_menu, #leftcolumn .moduletable, #leftcolumn .moduletable_text, #leftcolumn .c { margin:0 0 20px 0; padding: 0px; text-align:left; } #leftcolumn ul.menu, #rightcolumn ul.menu { margin:0; padding:0px 0 0 10px; list-style:none; margin: 0px 0; width:194px; } #leftcolumn ul.menu li, #rightcolumn ul.menu li { margin:0; padding:0; } #leftcolumn ul.menu li a, #leftcolumn ul.menu li a:link, #rightcolumn ul.menu li a, #rightcolumn ul.menu li a:link { display:block; line-height:20px; border-bottom:1px dotted #c3b586; padding:2px 0px 0 12px; height:20px; text-decoration:none; text-align:left; color:#666666; } #leftcolumn ul.menu li a:hover, #rightcolumn ul.menu li a:hover { color:#0d789c; } /* ****** left col current menu ****** */ #leftcolumn ul.menu li#current a, #leftcolumn ul.menu li#current a:link, #rightcolumn ul.menu li#current a, #rightcolumn ul.menu li#current a:link { display:block; line-height:20px; border-bottom:1px dotted #0d789c; padding:2px 0px 0 12px; text-decoration:none; color:#0d789c; } #leftcolumn ul.menu li#current a:hover, #rightcolumn ul.menu li#current a:hover { color:#666666; } /* ****** left col sub menu ****** */ #leftcolumn ul.menu li ul, #rightcolumn ul.menu li ul { margin:0; padding:0 0 0 0px; list-style:none; } #leftcolumn ul.menu li#current ul li a, #leftcolumn ul.menu li#current ul li a:link, #rightcolumn ul.menu li#current ul li a, #rightcolumn ul.menu li#current ul li a:link { background: transparent url(../images/menu_sub_link_bg.gif) left no-repeat; text-decoration:none; color:#666666; padding:2px 25px; } #leftcolumn ul.menu li.active ul li#current a, #leftcolumn ul.menu li.active ul li#current a a:link { background: transparent url(../images/current_link.jpg) left no-repeat; text-decoration:none; color:#666666; padding:2px 25px; } #leftcolumn ul.menu li#current ul li a:hover, #rightcolumn ul.menu li#current ul li a:hover { s/menu_sub_link_bg.gif) left no-repeat; color:#666666; } /* forms */ #leftcolumn .moduletable ul, #rightcolumn .moduletable ul { margin:6px 0; padding:0; list-style:none; } #leftcolumn .moduletable ul li, #rightcolumn .moduletable ul li { margin:0; padding:0 2px; } table.adminform textarea { width: 540px; height: 400px; font-size: 1em; color: #000099; } div.search input { width: 69px; vertical-align:bottom; background-color: #ffffff; margin: 15px 0 10px 0; } form#form-login fieldset { margin:0px 20px 0 20px; padding:20px 0 0 0; border:none; text-align:left; } form#form-login ul { text-align:left; list-style:none; margin:10px 0 0 0; padding:0; } form#form-login ul li{ text-align:left; margin:0; padding:0 0 0 20px; } #leftcolumn div.module h3 { top:-500px; left:-500px; padding-left:0; position:absolute; } /* thumbnails */ div.mosimage { margin: 5px; } div.mosimage_caption { font-size: .90em; color: #666; } div.caption { padding: 0 10px 0 10px; } div.caption img { border: 1px solid #CCC; } div.caption p { font-size: .90em; color: #666; text-align: center; } /* Parameter Table */ table.paramlist { margin-top: 5px; } table.paramlist td.paramlist_key { width: 128px; text-align: left; height: 30px; } table.paramlist td.paramlist_value { } div.message { font-family : "Trebuchet MS", Arial, Helvetica, sans-serif; font-weight: bold; font-size : 14px; color : #c30; text-align: center; width: auto; background-color: #f9f9f9; border: solid 1px #d5d5d5; margin: 3px 0px 10px; padding: 3px 20px; } /* Banners module */ /* Default skyscraper style */ .bannergroup { } .banneritem { } /* Text advert style */ .banneritem_text { padding: 4px; font-size: 11px; } .bannerfooter_text { padding: 4px; font-size: 11px; background-color: #F7F7F7; text-align: right; } /* System Messages */ /* see system general.css */ .pagination span { padding: 2px; } .pagination a { padding: 2px; } /* Polls */ .pollstableborder td { text-align: left; } /* Frontend Editing*/ fieldset { border: 1px solid #ccc; margin-top: 15px; padding: 0 15px; } legend { margin: 0; padding: 0 10px; } td.key { border-bottom:1px solid #eee; color: #666; } /* Tooltips */ .tool-tip { float: left; background: #ffc; border: 1px solid #D4D5AA; padding: 5px; max-width: 200px; } .tool-title { padding: 0; margin: 0; font-size: 100%; font-weight: bold; margin-top: -15px; padding-top: 15px; padding-bottom: 5px; background: url(../../system/images/selector-arrow.png) no-repeat; } .tool-text { font-size: 100%; margin: 0; } /* System Standard Messages */ #system-message dd.message ul { background: #C3D2E5 url(../../images/notice-info.png) 4px center no-repeat;} /* System Error Messages */ #system-message dd.error ul { color: #c00; background: #E6C0C0 url(../../system/images/notice-alert.png) 4px center no-repeat; border-top: 3px solid #DE7A7B; border-bottom: 3px solid #DE7A7B;} /* System Notice Messages */ #system-message dd.notice ul { color: #c00; background: #EFE7B8 url(../../system/images/notice-note.png) 4px center no-repeat; border-top: 3px solid #F0DC7E; border-bottom: 3px solid #F0DC7E;} /* ****************************************************************************** */ /* blue */ input,button { background:transparent; vertical-align:bottom; } input[type="checkbox"], input[type="radio"]{ background: transparent; border: none; } /* -------------------------- */ a.sgfooter:link, a.sgfooter:visited { color : #fff; font-family: Arial,sans-serif; text-decoration:none; } a.sgfooter:hover { color: #fff; font-family: Arial,sans-serif; text-decoration:none; } #sgf { font-size: 11px; text-align:left; color: #fff; padding:4px 0 0 10px ; font-family: Arial,sans-serif; width:500px; float:left; } .sgf { text-align:right; font-size: 11px; font-family: Arial,sans-serif; color: #666; text-decoration:none; } .sgf1 { font-size: 11px; font-family: Arial,sans-serif; color: #666666; text-align:left; } a.sglink:link, a.sglink:visited { color : #666666; font-size : 11px; font-family: Arial,sans-serif; text-decoration:none; } a.sglink:hover { color : #666666; font-family: Arial,sans-serif; text-decoration:none; } Hello! If i need to put background-image at the bottom of display i use such css rule: background-position: bottom; but in my case i need image to be fixed in right bottom corner. apparently i cant use two declarations like: background-position: bottom; background-position: right; so how could i attain this via just CSS? So I have a design where the background is a large (1400x1100) image that fades into a vertical gradient at the edges. I've set up the css as follows: body { background: #000 url(gradient.jpg) repeat-x; margin: 0; } Here's where I run into my problem... I've created an empty DIV to hold the large image which will appear on top of the gradient and positioned it absolutely. <div id="bg_image"></div> #bg_image { width: 100%; height: 1100px; background: url(images/bg_image.jpg) no-repeat top center; margin: 0; position:absolute; } This works and the background looks like it should, however because the large image is inside a DIV, any time the browser window is smaller than that div (which will be the case for most users considering the image size) there will be scrollbars. This makes perfect sense of course I just can't come up with an alternative. If there was a way to extend a background image beyond the borders of a DIV that would work but overflow:visible; doesn't seem to work with background images only content. I wish I could set a repeating background AND a static background in the body style, because that is exactly the effect I'm trying to achieve. Any suggestions would be greatly appreciated! Thanks, Josh Hi all Having some problems with background image positioning - all CSS/XHTML has been validated See http://community.foe.co.uk/tmp/quote_and_image_test.html Relevant CSS : Code: #imageleft {padding:0px; float:left; width:auto; margin-right:5px; margin-bottom:5px} .imagecaptionleft{padding:0px; margin:0px; text-align:left; font-size:8pt} blockquote { background: transparent url(/images/common/quote1a.gif) left top no-repeat; margin:0px; padding: 0px; font-weight: normal; color:#000; } blockquote div { padding: 2px 30px; background: transparent url(/images/common/quote2a.gif) right bottom no-repeat; } Relevant html Code: <div id="imageleft"> <img src="/images/common/dummy.gif" alt="Test image" width="100" height="100" /> <div class="imagecaptionleft">Caption goes here</div></div> <blockquote><div> <p>Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Vestibulum augue odio, condimentum et, iaculis quis, facilisis nec, quam. Aliquam eros. Nulla ut lorem. Cras bibendum orci at ligula lobortis bibendum.</p> </div></blockquote> The opening quote mark is hidden behind the image - as you can see it has a position of left, and for some reason the <div> within the <blockquote> is including the image so is full width. Any help appreciated I have successfully added a background image to the page but it does not center how I want it to. Right now it is positioned at top center. I would like to move it to Center center of entire page. Using this code instead of center for background-position did not do anything. Neither did 50%, 50%. What can I do to move this over. I have the same problem with a picture file to go above the background file and web links which are all placed at top left of page. It would be nice to move them to top center of page. How is this possible through html code? Here is the code for the background image: <style type="text/css"> body { background-image: url(picture/bamboo.jpg) } body { background-position: center } body {background-repeat: no-repeat } </style> Thank you for your help, Hi all, Okay, so I've got a page with a central column which has a drop-shadow and a background image... The obvious problem is that the repeated background image doesn't always line-up with the background image in the dropshadow. Plus, The backround image changes position whenever the page is resized. So I was looking here, to see if I could find the code to center the background image in the screen, and make it a fixed position, but even then, when you resize the page, the background image seems to move with it. Does anyone know how to fix a background image so that it will stay aligned with the central content/dropshadow of the page? Thanks. I have worked out a section banner. There is one for each section in a column of 4 or 5. The buttons on the left call a JavaScript that move DIVs up and down, reordering the content as the user wishes. Anyway, I'm having trouble figuring out how to make the center section where the Title is, non-fixed (expand to fit the space). I'd like it to spread out to as wide as the container allows, minus the width of the left and right ends, of course. See the actual thingy on a test page he Siliconsatan Here's the styles: Code: <style type="text/css" media="all"> .col_tab_left { position: relative; width: 36px; height: 30px; left: 0px; top: 0px; background-image: url(./images/col_tab_left.gif); } .col_tab_middle { width: 430px; height: 30px; position: absolute; left: 36px; top: 0px; background-image: url(./images/col_tab_bg.gif); text-align: center; } .col_tab_right { width: 26px; height: 30px; position: absolute; left: 466px; top: 0px; background-image: url(./images/col_tab_right.gif); text-align: center; } .col_tab_title { font-family: tahoma,verdana,arial,helvetica,sans-serif; font-size: 10pt; letter-spacing: .05em; color: #003366; font-weight: bold; line-height: 30px } .col_block_up { width: 36px; height: 30px; border: 0px solid #003366; left: 5px; } .col_block_down { width: 36px; height: 30px; border: 0px solid #003366; position: absolute; left: 13px; top: 0px; } .col_image { position: relative; display:block; left: 6px; top: 12px; } </style> Here's the html: Code: <div class="col_tab_left"> <div class="col_block_up"> <img onclick="MoveBlock('ys101','bizJournalCity','Up');" class="col_image" src="images/block_up2.gif" width="11" height="11" border="0" alt="" alt="Move section up" title="Move section up" style="cursor:pointer;" /> </div> <div class="col_block_down"> <img onclick="MoveBlock('ys101','bizJournalCity','Down');" class="col_image" src="images/block_down2.gif" width="11" height="11" border="0" alt="" alt="Move section down" title="Move section down" style="cursor:pointer;" /> </div> <div class="col_tab_middle"><span class="col_tab_title">Business Journal News</span></div> <div class="col_tab_right"></div> </div> It looks like this: Hi, I learned css a couple of years ago but am real rusty...anyways, here is an image that i wanted as the background to the top of the page. in the white space, i simply want a horizontal menu with 4 links. i cannot figure out how to position my links in that space correctly. any help appreciated! [/IMG]http://img251.imageshack.us/img251/1333/toplogoinfo.jpg[/IMG] here is the code i have so far: 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"> <head> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> <title>Precision Truck Painting and Repair</title> <style type="text/css"> .body{ margin:0; padding:0; } #page { width: 800px; margin: 0 auto 0 auto; } #banner { background-image:url(images/jpegs/top_logo_info.jpg); height: 140px; background-repeat:no-repeat; } ul.nav { list-style-type: none; padding-left: 0; margin:0px 0 0 360px; font-family:Arial, Helvetica, sans-serif; } ul.nav li { display: inline; width:115px;} ul.nav a { text-decoration:none; } </style> </head> <body> <div id="page"> <div id="banner"> <div id="top"> <ul class="nav"> <li class="index"><a href="index.html">Home</a></li> <li class="painting"><a href="pages/painting_collision.html">Painting/Collision</a></li> <li class="painting"><a href="pages/body_trailer_repairs.html">Trailer & Body Repairs</a></li> <li class="index"><a href="pages/Contact_us.html">Contact Us</a></li> </ul> </div> </div> </div> </body> </html> Hi I am trying to position a background image in my list, but I can't seem to position it where I want it, heres the example http://dmumford.bizhat.com/test/list.htm I need the bullet to be before the link home, but when I change the padding in the ul class the bullett moves with it, if that makes sense. Could someone please help me! Thank you! I have a problem I can't resolve as I'm out of my depth with this CSS positioning issue on a joomla site with a bespoke template I have customised. The problem is that the client (a graphic designer) created a menu design where the top level menu buttons overlap with a curve. I have assigned a background image on hover and it works well. You can see it he I can't post an image of the menu as it won't let me, being a new poster, which is a pain... Code: #horiz-menu a:hover { display: block; z-index: 100; line-height: 22px; left:-53px; position: relative; background: url("../images/style9/menu-bar-hover.png") no-repeat scroll 0 0 transparent; padding-left:63px; height:27px; width:162px; border-bottom:1px solid #fff; margin-bottom:-3px; } To achieve the overlap, the background has to sit behind the button to its left and that is achieved by moving it a fixed amount of pixels leftward. The menu text is then put back in place with the padding. However the client now wants the hovered image to stick in the parent position when the submenu items are hovered over. I've achieved this with: Code: #horiz-menu li.parent.active a { background: url("../images/style9/menu-bar-hover.png") no-repeat scroll 0 0 transparent; z-index: 100; line-height: 22px; left:-53px; position: relative; padding-left:63px; height:27px; width:162px; border-bottom:1px solid #fff; } The trouble is that although the background image is positioned correctly, it has a knock-on effect on all the submenu list items which are being positioned to the beginning of the background image, 53 pixels to the left... I cannot pad the submenu items over to the right as it causes all the other submenus items under the other parents to move to the right too. I suppose my question is twofold: is there any way of setting the active parent list item background image position without the children items inheriting the position change? ; is there a better way of doing what I am attempting to do? If the client had not specified overlapping buttons I would be in the clear but my client was a graphic designer who designed without any thought as to the css implications. The requirements have been signed off and I have to find a way of implementing it. Please, any thoughts? I am not a css coder and I find css to be impenetrable, arcane whilst being slow and difficult to debug. All help really appreciated. Hey folks, here's an odd problem that's got me totally stumped. I've got a nine item unordered list, each of which is a link that contains both text and a background image. The background image is a large spritebox. I'm using background-position to shift the spritebox to display the sprite specific to the a:link and also to display a separate a:hover version. Looks great in Safari and CSSEdit, but in Firefox four of the links are misplaced and the sprite is incorrect. The hover state is correct, however. This is hard to explain, but the example should help illustrate the problem. My thought was that it was related the psuedo class of a:link, but nothing I've tried seems to help. Any thoughts? The example file contains both the HTML and the CSS (just to simplify this problem for this forum). The full background image and the file containing the sprites is at my website, artmeetsearth dot org slash 2011 slash codetest dot html. To get the image type socialmediaicons.jpg instead of codetest. Thanks for any help you can offer! Hello, I recently started creating websites again and I have been pulling my hair out on this Firefox compatibility issue. The site navigation looks great in IE but in Firefox a couple of the background images are skewed down and to the left. Since all my tricks from years ago are so outdated now, I decided to try CSS for a simplified navigation setup. The code is probably pretty messy since I chopped it together from numerous sources and still am not completely sure how it works. Background: I created a large 794x1200 PNG image that contains two complete border and navigation sets. I am using CSS to both position the appropriate portion in each table/cell as well as switching to a slice on the 2nd image set for rollover purposes. An example of the current test is he (URL address blocked: See forum rules) *not sure if this is okay but would be best to see the example. If it is not allowed as a non-clickable then feel free to delete. It is here - classtime . org / test6 . htm and the navigation image is he (URL address blocked: See forum rules) *classtime . org / navigate . png I would be eternally grateful to anyone that can help me figure out why the site works great in IE but is coming up skewed in Firefox. As a side note, when I pull up the site in Frontpage, it shows the left-most cell as being larger than it is supposed to be even though it is hardcoded. To get my left image bar to show up in the correct place I had to use a value of "left: -40px;" I'm not sure why that is but I suspect it has something to do with the problem. Thank you very much for taking a look. My jumbled code is as follows: Code: <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "(URL address blocked: See forum rules)"> <html> <head> <meta http-equiv="Content-Language" content="en-us"> <title>Ultrasonic Blind Company - Elk Grove Village, Illinois</title> <meta http-equiv="Content-Type" content="text/html; charset=windows-1252"> <style type="text/css" media="screen"> a:link {color: #FFF4D1;} a:visited {color: #FFF4D1;} a:hover {color: #74060c;} a:active {color: #FFF4D1;} .top a { display: block; width: 794px; height: 120px; background-image: url('navigate.png'); } .top a:hover { background-position: 0px -601px; } #left { left: -40px; width: 150px; height: 460px; display: block; background: url('navigate.png'); background-repeat: no-repeat; background-position: 0px -120px; position: relative; } #left li {margin: 0px; padding: 0px; list-style: none; position: absolute; text-align: center; font: bold 18px Batang; line-height: 50px; } #left li, #left a {height: 50px; width: 146px; display: block;} #panel1b {top: 10px;} #panel2b {top: 63px;} #panel3b {top: 116px;} #panel4b {top: 169px;} #panel5b {top: 223px;} #panel1b a:hover {background: transparent url('navigate.png') 0px -730px no-repeat} #panel2b a:hover {background: transparent url('navigate.png') 0px -785px no-repeat} #panel3b a:hover {background: transparent url('navigate.png') 0px -839px no-repeat} #panel4b a:hover {background: transparent url('navigate.png') 0px -890px no-repeat} #panel5b a:hover {background: transparent url('navigate.png') 0px -945px no-repeat} #right { width: 154px; height: 460px; display: block; background: url('navigate.png'); background-repeat: no-repeat; background-position: -640px -120px; position: relative; } #right li {margin: 0px; padding: 0px; list-style: none; position: absolute; text-align: right; font: bold 18px Batang; } #right li, #right a {height: 85px; width: 154px; display: block;} #panel1r {top: 0px;} #panel2r {top: 100px;} #panel3r {top: 200px;} #panel4r {top: 300px;} #panel1r a:hover {background: transparent url('navigate.png') -640px -721px no-repeat} #panel2r a:hover {background: transparent url('navigate.png') -640px -821px no-repeat} #panel3r a:hover {background: transparent url('navigate.png') -640px -921px no-repeat} #panel4r a:hover {background: transparent url('navigate.png') -640px -1021px no-repeat} </style> </head> <body bgcolor=#74060c> <div align=center> <table id="Table_01" width=794px height=600px border=0 cellpadding=0 cellspacing=0> <tr> <td colspan="3" height="120" width="794" bgcolor="#FFF4D1"> <div class="top"> <a href="(URL address blocked: See forum rules)"></a> </div> </td> </tr> <tr> <td align=left valign=top height=674px width=150px bgcolor="#FFF4D1"> <ul id="left"> <li id="panel1b"><a href="(URL address blocked: See forum rules)" style="text-decoration: none">Contact</a></li> <li id="panel2b"><a href="(URL address blocked: See forum rules)" style="text-decoration: none">Residential</a></li> <li id="panel3b"><a href="(URL address blocked: See forum rules)" style="text-decoration: none">Commercial</a></li> <li id="panel4b"><a href="(URL address blocked: See forum rules)" style="text-decoration: none">Coupons</a></li> <li id="panel5b"><a href="(URL address blocked: See forum rules)" style="text-decoration: none">Questions</a></li> </ul> </td> <td align=left valign=top width=490px height=674px bgcolor="#FFF4D1"> aaa</td> <td align=left valign=top width=154px height=674px bgcolor="#FFF4D1"> <p align=right> <ul id="right"> <li id="panel1r"><a href="(URL address blocked: See forum rules)" style="text-decoration: none"></a></li> <li id="panel2r"><a href="(URL address blocked: See forum rules)" style="text-decoration: none"></a></li> <li id="panel3r"><a href="(URL address blocked: See forum rules)" style="text-decoration: none"></a></li> <li id="panel4r"><a href="(URL address blocked: See forum rules)" style="text-decoration: none"></a></li> </ul> </td> </tr> </table> </div> </body> </html> Hey Guys, I designed a header logo in the top left corner of my psd document. I am now slicing my design up and I can't seem to be able to position the header into the top left hand corner. Any help would be greatly appreciated. Here is my CSS Code: ul#nav { height: 91px; width: 271px; margin:30 auto; background: url(images/logo.jpg) no-repeat; } Hi there. I'll try to explain this as clearly as I can: I have a site that needs these requirements - 3 column elastic layout with footer - left and right columns are static - center column is flexible to fill screen problem i am having is that the left and right columns ONLY need to have a repeating background (because of a required drop shadow in the design) on the y axis. Unfortunately I can't seem to get the left and right columns to assume the height of the content area, which also has to be elastic (so there's no fixed height either). Basically, the background images either don't show up, or only go as far down as "content" or based on a specific height (which is useless in this layout) Any suggestions or code samples would greatly appreciated! Thanks in advance , humanv3 |