CSS - Please Point Out My Mistake Here
Hi All,
I have been trying to find out a small mistake in my css since yesterday morning. But now I can't just go with it and seeking someone else eye to correct it. Basically its working fine in FF but not coming properly in IE7. The bottom background is not comming and I think the main background is overriding it. Please check the below url and let me know where I am doing wrong. http://dev.axia.co.uk/test.htm Thanks you for your time. Similar TutorialsHi .. I have decided to teach myself Web Development .. and I have jumped into HTML and CSS first .. and will be branching off to PHP once I have a solid HTML and CSS foundation .. To teach myself practically .. I have decided to make a webpage that does nothing but have a blank coloured background and an area to write text that is surrounded by a rounded rectangle constructed of gifs .. I know this may not be the most efficient way to do this, but I am using this as an exercise to gain a greater holistic understanding of the way CSS works with HTML. The desired outcome is to have a rounded rectangle box that will be drawn to fit its container, so that it can be reused all over the place ... The code is pasted below, and any images can be substituted for the ones in my code .. but my question is .. : in the attached code, why is the final element not lined up horizontally with the other 2 elements ?? <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "(*********)"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> <link href="styles.css" rel="stylesheet" type="text/css"> <title>Insert title here</title> </head> <body> <div id="body"> <div id="container"> <div id="box_top_left"> </div> <div id="box_top"> </div> <div id="box_top_right"> </div> </div> </div> </body> </html> CSS Code div#container{ width: 500px; height : 500px; position:absolute; background:#7868723; } div#box_top_left{ width: 10px; height: 10px; display: block; float:left; background-repeat: no-repeat; background-image: ******* } div#box_top_right{ width: 16px; height: 10px; float: right; position: relative; display: block; top: 0px; background-repeat: no-repeat; background-image: ******** } div#box_top{ width: 100% - 26px; height: 10px; display:block; position:relative; left : -5px; margin:0; background-repeat: repeat-x; background-image: ******* } Thanks for any assistance you can give ... Hello Can u hlp me please? have look at www.verexelto.sk/test/test1.php - this is good version of the page but without any text in the footer. after i try tu put any content into footer (f.e. some text) the page wil not do this properly (the way i want it :-) ) have look at www.verexelto.sk/test/test.php (scroll down) What should i have to do , what am i doing wrong? Thank you Hi all, I'm a beginner to floating divs etc. so I've been following a tutorial to get what I need and I'm tweaking it here and there. Trouble is I've obviously tweaked something incorrectly. The two column's in the contentHoldingDiv don't line up correctly. Does anyone feel like taking a look at my code and telling me what I've done wrong (any other comments freely welcomed - it's the only way I'll learn). Here's the HTML: Code: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html> <head> <title>Test</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"/> <link href="style.css" rel="stylesheet" type="text/css" media="screen"/> </head> <body> <div id="holdingDiv"> <div id="topDiv"><p>You are logged in as <strong>Guest</strong></p></div> <div id="headerPicDiv">Header Pic</div> <div id="navDiv"> <ul> <li><a href="#">Option 1</a></li> <li><a href="#">Option 2</a></li> </ul> </div> <div id="contentHoldingDiv"> <div id="contentDiv"> <h2>Column 1</h2><p>Lorem ipsum dolor sit amet, consectetuer adipiscing elit...</p> </div> <div id="rightDiv"> <h3>Column 2</h3><p>Lorem ipsum dolor sit amet, consectetuer adipiscing elit...</p> </div> </div> <div id="footerDiv"> <p> Site design by <a href="mailto:Lee@LTheobald.co.uk">Lee Theobald</a> </p> </div> </div> </body> </html> And here's the CSS Code: * { font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 12px; } body { background-color: #E6E6E6; margin: 0px; padding: 0px; min-width: 760px; } #holdingDiv { background-color: #F8F8F8; margin: 20px auto; width: 760px; } #topDiv { height: 25px; background-image: url(images/gradient25.jpg); border: 1px solid #D4D4D4; } #topDiv p, #topDiv strong { line-height: 25px; text-align: right; padding-right: 5px; margin: 0px; font-size: 10px; } #headerPicDiv { height: 125px; border: 1px solid #D4D4D4; } #navDiv { height: 25px; background-image: url(images/gradient25.jpg); border: 1px solid #D4D4D4; line-height: 25px; padding: 0 5px; } #navDiv ul { margin: 0px; padding: 0px; } #navDiv li { display: inline; list-style: none; margin: 0px; padding: 0px; } #contentHoldingDiv { border: 1px solid #D4D4D4; padding: 0px; margin: 0px; clear: both; } #contentDiv { background-color: red; width: 600px; float: left; } #contentDiv p { padding: 5px 3px; margin: 0px; #rightDiv { background-color: orange; width:157px; margin-left:600px; } html>body #rightDiv { width:160px; } #footerDiv { height: 15px; background-image: url(images/gradient15.jpg); border: 1px solid #D4D4D4; } #footerDiv p, #footerDiv a { line-height: 15px; text-align: center; font-size: 9px; margin: 0px; } Cheers, Lee Hi, all! I'll try to be as concise as I can with this Q. Basically, I want div to float to the right edge within a (for example) 500px div; unless the window size is less than 500px and cutting off part of the parent div. In this case I'd like the child div to float as far right as possible while staying visible. Forgive me if this is simple to do with css; I have a head full of cold medication at the moment! :S Thanks! PS the reality of what I'm trying to do is show the left half of a background image off to the left of my content (child div) only if there's room. Otherwise, the content should appear over top of this left section. Ok I fully understand the benefit of using css for text (easy site wide font changes etc) but is there really any point in using css for layouts? I understand that traditional table based layouts are a nest of cells which creates problems for text readers and large pages which we try to reduce by slicing images up, setting background colurs in html etc BUT When using css for layouts we tend to use much larger graphics - typically the header is a single graphic rather than several slices. Through a bit of testing I have deduced that creating a page with tables with the same reduced level of slicing as for a css layout (ie just header, sidebar, content and footer), results in a comparable total page size and has no nested tables to confuse screen readers. The real clincher for me is that using a simple table layout rather than css for layout results in a page which displays exactly as I want it across browsers and so I don't spend days testing and moving things backwards and forwards to get a compromise layout. I realise this is heresy to suggest that tables migh be better and I await the more experienced here putting me right. is it possible to change the bullet point color only of a list? Is there a way to stop using a CSS after a certain point in your code? I am trying to do this as I have a CSS for my site which I am including vBulletin into which has its own CSS file, which messes up the formatting from my CSS file and vice versa. Hi, I have a drop down menu using <UL> and <LI>. Is there a way i can reduce the left indent from where the bullet point would normally be? Many thanks I've done a lot of reading to recently learn css, but this one stumps me: I have put the one background image in the center of the page so that it looks better than being crammed in the upper left, and to keep a nice layout regardless of screen resolution. so now i want to add a text element that fits into the right place relative to the background, not the page. can i set a point (such as top-center) that all margins will be based on, besides the top and left of the browser page? the non css version of the page (with lots of tables) is at www.stipepainting.com. looking at that might clarify my question a bit. thx in advance Not sure where to put this because it involves php, dhtml, css and layers? But anyway I'll give it a shot here. I have a problem that I can't seem to tackle. Basically what I need is: I need to set a number of layers on an absolute position from a relative point, the topleft corner of an image of a map (that has no fixed position from the top of the page because the amount of content from the top before the image of the map can change because it is a dynamically generated page). I have: An image of a map and in a mysql table a number of sets of xy coordinates (in pixels) from the top-left corner on that image to some points on the map. (Unfortunately I can't show you the pages, but I'll try to be as clear as posssible) Trying to accomplish: A map somewhere on a page and query from a database a set of x-y-coordinates of different points, that correspond to top left corner of that map. On the exact x-y coordinates I want to display a small image of a crosshair, so that a number of points are indicated on the map with crosshairs. The points on the map (read: sets of x-y coordinates) can differ. Solution (I thought): Use layers using the <div> tag. So I use a layer to specify the location of the map. Then I query the table for all the x-y coordinates of the poins on the map and create a layer for every set of x-y coordinates. Here's the code ($cat and $de are taken from an URL): PHP Code: //get xy coordinates of primary position $locbase = mysql_query("SELECT lb_xcoord, lb_ycoord FROM locbases WHERE lb_cat_id = $cat AND lb_ad_id = $de "); $locbasered = mysql_fetch_array($locbase); $xred = $locbasered["lb_xcoord"]; $yred = $locbasered["lb_ycoord"]; //get xy coordinates of other positions on the same map $locotherbases = mysql_query("SELECT lb_xcoord, lb_ycoord FROM nuke_zc_locbases WHERE lb_cat_id = $cat AND lb_ad_id <> $de "); //position the map at coordinates 0-0 echo "<div id=\"Layer1\" style=\"position:relative; left:0; top:0; z-index:0;\"><IMG SRC=\"$img\" border=\"0\"></div>"; //position the primary position on the map in a layer on top of the map layer echo "<div id=\"Layer2\" style=\"position:relative; left:$xred; top:$yred; z-index:1;\"><IMG SRC=\"http://192.168.1.11/sites/test/crosshair.gif\" border=\"0\"></div>"; //create a loop and for each loop create a layer with based on the set of x-y coordinates and display a crosshair image in that layer $k = 3 ; while( $locothers = mysql_fetch_array( $locotherbases ) ) { $xgrey = $locothers["lb_xcoord"]; $ygrey = $locothers["lb_ycoord"]; echo "<div id=\"Layer$k\" style=\"position:relative; left:$xgrey; top:$ygrey; z-index:$k\"><IMG SRC=\"http://192.168.1.11/sites/test/crosshair.gif\" border=\"0\" ></div>"; $k++ ; } Problem 1: This all works (except for problem 2, described later) when the position statements in the tag are set to absolute. Then it will display correctly in the left hand corner and all crosshairs are positioned correctly. The thing is that I want it embedded in another page, so that it is displayed below some content that is also dynamically generated (so I can't set position to absolute, because I don't know where the content before the map stops) So I have to set it to relative and then all the divs are displayed relative to the previous tag. Since the tags are dynamically generated through a while loop, the crosshairs will all move down a blank line. Problem 2: The layers do not stack exactly as planned, first because the images of the crosshairs are displayed under the map (but the z-index builds up correctly doesn't it?) he weird thing is that when I put the <div> tag of the map image after the looped and primary crosshair div-tags, then the crosshairs are all displayed on top of the map. To my knowledge the z-index should work regardless of where the code is , no?) Anyone any idea how to do this? (or would I have to display the map and crosshairs in an <iframe>within the dynamically generated page) Thanks for any feedback! Cheers, Gurt |