CSS - Problems Getting Banner To Span Width Of Page.
I don't mind telling yall, I'm a bit hesitant to post here, only because I'm very new to html and css, just learning. Folks here are far above my ability, I've got many of the pages on site bookmarked for reference.
I'm taking this plunge because I'm ready to rip hairs one by one on a problem. I have a friend who originally made a site in a builder program *shudders* and he has asked me to convert it to more conventional pages (he's determined to keep this theme and I'm not good enough to remake the entire site by hand yet). This program created every thing on the pages as a Div with css styling embedded in the document. Ive got everything working perfectly except that I can not for the life of me get the Div.banner to stretch the width of pages in order for it to span the width of any resolution. What I'm trying to do is simply (or should be) make a 93px by 3 or 4 px bar repeat the length of the div. Here is the code its using at this time. Code: <STYLE TYPE="text/css"> DIV.banner { position:absolute; top:0px; left:0px; z-index:0; } ....</STYLE> <DIV class="banner"><IMG SRC="images/vbar.PNG" WIDTH=900 HEIGHT=93 BORDER=0></DIV> The above works but its a fixed width and I would like it to be full width no matter what resolution ones using. I have tried making the Div class="banner" use a width=100%. This causes the image to be shown at top=0 and left=0 once only. I tried adding background-repeat repeat-x to the css code. Any other changes I make like removing the Width from the Div class all together causes it to just go away. I've been able to manipulate everything else from this horrible theme fine except this. I'm sure there is something simple I'm missing and if you need to see more of the index page code just let me know (its not online at this time). I didn't want to put in too much stuff and being such a n00b at all this, I'm learning so be gentle with me.. Thanks in Advance Me Similar TutorialsHello, I am having a problem getting the section that says WHAT OUR CUSTOMERS HAVE TO SAY to span the entire right side of the page. I would like to set it up so that no matter what screen resolution the page is viewed in, that section will stretch all the way to the right side. Any suggestions? http://www.discinsights.com/cyber/Scripts/default.asp Thanks ahead of time! Hello, Well this is a very simple question ... how can Iset the width of a span from CSS? Basically I tried setting the span with from CSS however the span size remained wrapped to the text inside rather then taking the width I desire. I check some interent forums, and found out that if I set the float:left the width is taken, but my span is no longer is place! is there a way to set the span width without having to set thr float:left option? thanks and regards, Sim085 I use this in IE: <span style="width:22"></span> as a blank spacer. The 22 is actually calculated so it varies. Of course it does not work in Firefox. I get no spacing at all. What is the acceptable cross browser method of doing this? Thanks in advance. ok, i know that because span is a inline element width cant be applied to it, and a lot of people suggest DIV my problem is that div wont work, because of its auto-break thing.... it being a block element and all... so, how would i apply a width of something like 100px to the span elements in code like this?... Code: <div class="infocontainer"> <span class="infobox">Publisher: <?php print $publisher; ?></span> <span class="infobox">Developer: <?php print $developer; ?></span> <span class="infobox">System: <?php print $system; ?></span> <span class="infobox">Gen <?php print $genre; ?></span> </div> Hi, I am trying to create a very simple login form. Before I used to develop everything with tables, so I had the email label and password label alligned under each other correctly. Now I am trying to do it only with divs, spans and css, however i can not give a fixed with the span or labels so that email and password are alligned under each other! Here is the html file I have. Basically I have to login forms, one with css and the other one with tables. You can see that the table example has email and password label alligned under each other keeping the same width, while in the css example email takes less space then password. I tried setting the witdh to the label, but it did not work! Code: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html> <head> <title>Login</title> <style> div.login{ border: 1px solid red; } div.login label{ border: 1px solid green; width: 200px; text-align:left; } </style> </head> <body> Example with only divs, span and css: <div class="login"> <div> <label> Email </label> <input id="username" name="username" type="text" value="" /> </div> <div> <label> Password </label> <input id="username" name="username" type="password" value="" /> </div> <div> <input type="submit" value="Login" /> <input type="button" value="Register" /> <input type="button" value="Forgot Password" /> </div> </div> <br> <br> <br> Example with tables. <table> <tr> <td>Email</td> <td> <input id="username" name="username" type="text" value="" /> </td> </tr> <tr> <td>Password</td> <td> <input id="username" name="username" type="password" value="" /> </td> </tr> <tr> <td colspan="2"> <input type="submit" value="Login" /> <input type="button" value="Register" /> <input type="button" value="Forgot Password" /> </td> </tr> </table> </body> </html> What should I do to my css to set a width to a label or span? thanks and regards, sim085 Hello all! I've problem with firefox rendering's of span tag, the problem is in the width definition, the code is this: Code: <span style="width:100%; background:red">My name is Danny!</span> IE show me a 100% red row with the text instead Firefox show me only text with the backgroud color. Why this? is a Firefox bug or is not possible to assign width definition to the span tag?! I want to have some small boxes of fixed width on a page, so I can change the background colour to create the appearance of "flashing lights". I've set the width property on the span tag. It works fine in Internet Explorer but not in Netscape. Any suggestions? I'm basically asking the same question as this post, but hoping that I can press for a better solution. I have an element which contains an image and some text, and I need that element to expand to the width of the image, not the text. The size of the image will change, so I can't set a fixed width on the containing element. The code I have which doesn't work looks like this: Code: <html> <head> </head> <body> <span style="display: inline-block; border: 1px solid black"> <img src="someimage.jpg" style="width: 400px; height: 200px;" /> <div>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nam vel placerat sapien. Aenean tempus lorem justo, at eleifend mi. Nam elementum nisl ut elit blandit dapibus. Donec et massa turpis, ac tincidunt odio.</div> </span> </body> </html> The solution proposed in the post I linked to looks like this: Code: <html> <head> </head> <body> <table width="1"> <tr> <td> <img src="someimage.jpg" style="width: 400px; height: 200px;" /> </td> </tr> <tr> <td> Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nam vel placerat sapien. Aenean tempus lorem justo, at eleifend mi. Nam elementum nisl ut elit blandit dapibus. Donec et massa turpis, ac tincidunt odio. </td> </tr> </table> </body> </html> The second example gives me the functionality I'm looking for, but I would really like to avoid using tables. I'm hoping there is a CSS solution to this. Thanks. Hi I'm struggeling with the following: I have some span elements inside a td. If I apply padding to a span then the padding is flowing outside the td (above and below the borders of the td). Why does that happen and is there a way to make the td to autogrow to fit all the span's inside? Se example code below Code: <table border="0" cellpadding="0" cellspacing="0" align="center" style="width:300px; margin-top:50px;"> <tr> <td style="background-color:gray; text-align:center; border:1px solid black;"> <span style="margin-right:20px;">First</span> <span style="margin-right:20px;">1</span> <span style="margin-right:20px;">2</span> <span style="margin-right:20px; background-color:orange; padding:10px;">3</span> <span style="margin-right:20px;">4</span> <span style="margin-right:20px;">5</span> <span style="">Last</span> </td> </tr> </table> ******* UPDATE ******* I found this link today: http://css-discuss.incutio.com/?page=FormattingContexts which says (among other things): ************************* Only one thing impacts the vertical space between inline elements: the line height. Normally, the line height is based upon the line height for the text in that line, or the height/padding/border/margin of any replaced items. The element on a line with the largest line height or replaced height is the one to define the vertical space that line takes up. Height, padding, border or margins on text do not impact the line height or the container height. Instead, borders, padding and margins overlap from line to line. If you want to give an inline text element some padding and border, make sure you give it some extra line height, too, or else it will overlap with whatever else is above or below it. ************************* So does that rule mean that I have no way to make my TD autogrow in relation to the padding applied to the SPAN in the example above? Is there any working workarounds for this...? Hello - I'm having trouble with the layout of a site I'm working on. Here's the site in question: http://www.americanidiotsband.com/ If you look at it in anything up to 1024x768, it's fine. But if you go higher than that (say, 1280x1024 resolution), then the main (black) part of the page goes only as far down as the content that is filling it. What SHOULD happen is that the black background should span all the way to the bottom, no matter how much content is inside it... Here is a link to the stylesheet that I made up: http://www.americanidiotsband.com/styles.css I'm sure I'm doing something wrong, and I'm hoping that someone could help me correct this. Thanks in advance for any help that can be offered!... OK i have a div and inside it i have a flash animation.. i am playing with the width property of div to make it same width as flash however the values are differing between IE and firefox? in firefox it is 67% and in IE it seems to be 70%!! i have NO other css for that div apart from margin-right/left: auto!! Hiya, I am having some problems with 100% width elements. As you can see he http://explosiveracing.net/new_design/orange/ CSS: http://explosiveracing.net/new_design/orange/styles.css The horizontal bars go further than 100% across the page resulting in a horizontal scroll bar appearing. I have only tested in FF1.5 and IE6 so far but both have the same problem. EDIT: I have fixed the horizontal bars. I cannot work out how to stop the menu bar expanding further than 100% though. Any ideas? I'm working on my first website located at http://www.longklaw.com and I started having trouble when I tried to make some changes . I have a header, a middle section (left sidebar, center, right sidebar), and a footer. As you can see, the container seems to be bigger than the total size of the sections and I cannot figure out how to fix it. I figured that it might be a padding/margin issue. I want the page to end where the borders separating the sections on the right sidebar ends. My CSS follows. Thanks in advance for the help. DIV { margin: 0px;} body { margin: 5px 5px 5px 5px; background-color: #000000; text-align: left; } a { text-decoration: underline; } a:link { color: #0000FF; } a:visited { color: #8A2BE2; } a:active { color: #0000FF; } a:hover { color: #006699; } h1, h2, h3 { margin: 0px; padding: 0px; font-weight: normal; } .container { line-height: 140%; margin-right: 0px; margin-left: 0px; text-align: left; padding: 0px; width: 98%; background-color: #FFFFFF; border: 0px solid #FFFFFF; } .banner { font-family: Verdana,Arial,sans-serif; color: #000000; background-color: #FFFFFF; text-align: left; padding: 15px 0px 0px 10px; border: 0px solid #000000; height: 39px; } .banner-img { display: none; } .banner a { color: #999999; text-decoration: none; } .banner h1 { font-size: xx-large; } .banner h2 { font-size: small; } .navigation { color: #000000; font-size: x-small; font-family: Verdana,Arial,sans-serif; font-size: small; margin-top: 5px; border: solid 0px #000000; } .navigation table { border-collapse: collapse; margin: 0px } .navigation td { border-color: #999999; border: 1px solid; } .content { color: #000000; font-size: x-small; font-family: Verdana,Arial,sans-serif; background-color: #ffffff; padding: 15px 15px 5px 15px; } .content blockquote { line-height: 150%; } .content li { line-height: 150%; } .content p.posted { color: #000000; font-size: x-small; font-family: Verdana,Arial,sans-serif; line-height: normal; text-align: left; margin-bottom: 25px; padding: 3px; border-top: 1px solid #999999; } .content h2 { color: #000000; font-size: x-small; font-family: Verdana,Arial,sans-serif; font-weight: bold; text-align: left; margin-bottom: 10px; } .content h3 { color: #000000; font-size: small; font-family: Verdana,Arial,sans-serif; font-weight: bold; text-align: left; margin-bottom: 10px; } .sidebar { padding: 0px; float: left; width: 20%; background-color: #FFFFFF; overflow: hidden; border-right: solid 0px #000000; } .sidebar p { color: #000000; font-size: x-small; font-family: Verdana,Arial,sans-serif; font-weight: normal; line-height: 140%; text-align: left; margin: 0px; } .sidebar h2 { color: #000000; font-size: x-small; font-family: Verdana,Arial,sans-serif; font-weight: bold; text-align: center; text-transform: uppercase; letter-spacing: 0.3em; margin-bottom: 10px; } .sidebar border { margin: 0px; padding: 0px; } .sidebar ul { margin: 0px; padding: 0px; } .sidebar li { color: #000000; font-size: x-small; font-family: Verdana,Arial,sans-serif; line-height: 140%; text-align: left; list-style-type: none; margin: 0px; } .sidebar img { border: solid 3px #ffffff; } .sidesection { color: #000000; font-family: Verdana,Arial,sans-serif; font-size: x-small; line-height: 140%; text-align: left; padding: 15px; margin: 0px; border-bottom: 1px solid #999999; } .center { float: left; width: 57%; overflow: hidden; border-right: 1px solid #999999; border-left: 1px solid #999999; } .clearer { height: 1px; overflow: hidden; clear: both; margin-top: -1px; } .footer { color: #000000; float: left; font-family: Verdana,Arial,sans-serif; font-size: x-small; line-height: 140%; text-align: left; width: 98%; padding: 15px; margin-bottom: 0px; background-color: #FFFFFF; border-top: 1px solid #999999; overflow: hidden; } .calendar { line-height: 140%; color: #666666; font-family: Verdana,Arial,sans-serif; font-size: x-small; padding: 15px; text-align: center; margin-bottom: 0px; border-bottom: 1px solid #999999; } .calendar table { padding: 2px; border-collapse: collapse; border: 0px; width: 100%; } .calendar caption { color: #000000; font-family: Verdana,Arial,sans-serif; font-size: x-small; text-align: center; font-weight: bold; text-transform: uppercase; letter-spacing: 0.3em; } .calendar th { text-align: center; font-weight: normal; } .calendar td { text-align: center; } .photo { text-align: left; margin-bottom: 20px; } .comment-data { float: left; width: 180px; padding-right: 15px; margin-right: 0px; text-align: left; border-right: 1px dotted #BBB; } textarea[id="comment-text"] { width: 80%; } Hope someone can help with this i've set this code below <table width="160"> <tr> <td><div class="mystyle">some text here</div></td> </tr> <tr><td>...some other stuff...</td></tr> </table> The div style sets padding, background colour, font colour and a background image that's aligned to the right hand side; .mystyle { font-size: 10px; font-weight: bold; color: #FFFFFF; background: #003366; padding: 6px; white-space: nowrap; } The problem is that the div fills the <td>'s 160px width rather than constraining itself to the with of its content, i've tried adding a minimum width of say 10px which seems to work in IE on PC but nothing else. How can i get it to reliably follow the widths of the content and padding?? Please delete... Hi! I'm working on a design for an art gallery client that calls for a primary image of variable width with static alignment to the right and bottom, with a row of thumbnails below that align with the left edge of the image. This is working fine in FF and Chrome, but I can't seem to get IE to constrain the containing div by the image width. The thumbnails, floated left, go all the way to the edge of the layout... I've tried different combinations of positioning on the containing div (you can see the comments in my CSS), but can't seem to get it to go. The URL in question is here . Any help would be mightily appreciated! -BBD Hi, The site I'm developing is: http://www.jaysonsgroup.com/index2.html It's only a temporary page..some old <table> tags are in there..which don't validate as XHTML. But, I come across many IE 5.0 - related problems for many of my sites..i.e. even those that validate under W3C etc. So I'm just asking generally, does anyone know a site that has fixes for IE 5.0 bugs? My sites seem to be fine on most browsers except this one. In regard to the above link, I had some major problems with IE 5.0 on the middle area (i.e. the images & text under "news" and "login"). The basic HTML code for that: Code: <div class="outerblock"> <div class="news"> <div class="news_left"><div class="news_left_text">My text</div></div> <div class="news_mid"><img src='images/sinhala.gif' width='431' height='286' alt='' /></div> </div> <div class="login_right"> my login table </div> </div> and the CSS for that: Code: .outerblock { width: 100%; overflow:hidden; display: block; clear: both; } .news { width: 607px; overflow:hidden; float: left; border-right: 1px solid #C5C5DD; } .news_left { width: 163px; float: left; overflow:auto; display: block; background: url(../images/home_worldwide.gif) no-repeat; padding: 110px 0px 0px 0px; } .news_left_text { padding: 0px 0px 0px 5px; color: #3B537D; font-family: Verdana, Arial ; font-size:7.5pt ; font-weight:normal; line-height: 13px; } .news_mid { width: 440px; height: 300px; float: left; overflow:hidden; } .login_right { width: 160px; height: 250px; padding: 50px 0px 0px 0px; float: left; background: #ECEDF2; border-right: 1px solid #C5C5DD; border-left: 2px solid #FFFFFF; overflow: hidden; } One problem I had (on IE 5.0) was that the middle 'news_mid' image was overflowing, positioned just below the 'news_left' area. The widths etc are all correct because the container width is 771px. So the entire area should just fit and not overflow (even though in IE 5.0 it did). The 'news' overflow property was AUTO, and I fixed the problem by specifying the overflow:hidden. Likewise, the 'login_right' div was overflowing just below the entire news section, and not to the right as it should have been. Once again I fixed this by specifying overflow:hidden for the outer div. Is it common to use overflow:hidden for things like this? Or is there a more appropriate fix? Another small problem I noticed for IE 5.0 : http://www.jaysonsgroup.com/ie5win.jpg (screenshot). The login_right background does not extend all the way. The height of the div should be 250 pixels + 50pixels on the padding - so 300 pixels total. But IE 5.0 ignores the 50pixels padding and leaves the background with a height of 250px. Thanks very much in advance! Hi all, I have a mysql database with a list of milkshake flavors. I want to pull those out and display them into 4 columns. No problem there. The hangup is that the width of these columns isn't going to be the same (because the list of milkshake flavors is going to be updated regularly and the display of them is dynamic as well). So, I can have it kick out 4 columns no problem and the width of these columns is based on the longest name in that column (which is what I want, so everything is OK there). The problem is that I want these 4 columns to be grouped together and centered on the page. I got it working in Firefox by making a container div and giving it a {display: table} value... works perfectly. However, that's not the case in IE. In IE, the container div is the width of the entire page and the columns are all left-aligned. Here's the page in question and my code is below. Any help is greatly appreciated. Thanks! Code: <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> <HTML> <HEAD> <style type="text/css"> .mcontainer { border: 2px solid black; display: table; margin: 0 auto; } .mcol { border: 1px solid blue; float: left; padding: 0 5px; font-size: .75em; text-align: center; font-family: "trebuchet ms", verdana, helvetica, arial, sans-serif; } .emptyspacer { clear: both; margin: 0; padding: 0; } </style> </head> <body> <div class="mcontainer"> <div class="emptyspacer"></div> <div class="mcol"> Almond<br> Almond Joy<br> Amaretto<br> Apple<br> Apple Pie<br> Banana<br> Banana Pineapple<br> Banana Split<br> Black & White<br> Blackberry<br> Blueberry<br> Butterfinger<br> Butterscotch<br> California Blend<br> Caramel<br> <strike>Caramel Apple</strike><br> Caribbean Rum<br> Cheesecake<br> Cherry<br> Chocolate<br> Chocolate Banana Peanut Butter<br> </div> <div class="mcol"> Chocolate Cherry<br> Chocolate Covered Banana<br> Chocolate Mint<br> Chocolate Raspberry<br> Cinnamon<br> Coconut<br> Coffee<br> Cookie Dough<br> Creamsicle<br> Creme De Menthe<br> Double Chocolate<br> Egg Nog<br> Grape<br> Grapefruit<br> Hazelnut<br> Heath Bar<br> Irish Cream<br> Island Breeze<br> Key Lime<br> Kiwi<br> Kiwi Strawberry<br> </div> <div class="mcol"> M&M<br> Macadamia Nut<br> Mango<br> Mango Kiwi<br> Mango Peach<br> Maple Walnut<br> Mocha<br> Mounds<br> <strike>Mud Pie</strike><br> Neapolitan<br> Nerds<br> Orange Pineapple<br> Oreo<br> <strike>Oreo Green Mint</strike><br> Peach<br> Peanut Butter<br> Peanut Butter & Jelly<br> Peanut Butter Cup<br> Pear<br> Peppermint<br> <strike>Peppermint Oreo</strike><br> </div> <div class="mcol"> Pina Colada<br> Pineapple<br> Pistachio<br> Raspberry<br> <strike>Raspberry Cheesecake</strike><br> Reese's Pieces<br> Root Beer<br> Rum<br> <strike>S'mores</strike><br> Snickers<br> Strawberry<br> Strawberry Banana<br> Strawberry Orange<br> Swiss Chocolate<br> Three Musketeers<br> Toffee<br> Vanilla<br> Watermelon<br> </div> <div class="emptyspacer"></div> </div> </body> </html> Here is the relevant HTML code: <table> <tr> <td> <div style="float:left;"> <div class="middle"><div class="r"><div class="l"> <a id="gridtitle" href="javascript:void(0)" onclick="reload()"></a> </div></div></div> <div style="width: 200px;"> <a href="#" onclick="addheader()"><img border="0" src="tab_new_header.png" alt="Delete this grid"/></a> <a href="#" onclick="addfooter()"><img border="0" srctab_new_footer.png" alt="Delete this grid"/></a> </div> </div> <div style="float:right;"> <a href="#" onclick="javascript:toggleLayer('newgrid');"><img border="0" src="button_add.png" alt="Add a grid"/></a> <a href="#" onclick="deleteGrid()"><img border="0" src="button_delete.png" alt="Delete this grid"/></a> </div> </td> </tr> <tr> <td> <div id="gridbox3" class="gridbox" width="870px" height="600px" style="background-color:white;"></div> </td> </tr> </table> And the relevant CSS code [which just sets the background of the tab]: .l {background: url(../../datadir/client/images/billinggrid/name_sidebg1.png) 0 0 no-repeat; height: 43px;} .r {background: url(../../datadir/client/images/billinggrid/name_sidebg2.png) 100% 0 no-repeat; height: 43px;} .middle {background: url(../../datadir/client/images/billinggrid/name_sidebg.png); height: 43px;} This is the output (i can't post images?) http://i34 [.] tinypic [.] com/4hpqag [.] png The first problem I am having is that the div my gridtitle (CIBC) is in does not set its width automatically to the text width. Instaed, it spans the whole table ... Position-wise, I would like the tab with "CIBC" to be to the far left, the header and footer tabs to be right of "CIBC" but still floating left, and the + and x signs to be floating right, all on the same line. Help? Thanks in advance. Howcome: html, body { color: #06F; background-color: #000; font-size: 16px; text-align: center; width: 768px; } Doesn't center the page in the browser? How can I center it? Output example on my website here. |