CSS - Basic Float Question (was "basic <div> Question")
Hi,
I have three <div> Code: <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <HTML> <HEAD> <TITLE> New Document </TITLE> <META NAME="Generator" CONTENT="EditPlus"> <META NAME="Author" CONTENT=""> <META NAME="Keywords" CONTENT=""> <META NAME="Description" CONTENT=""> </HEAD> <BODY> <div id="container" style="width:500px;height:700px;background-color:green;"> <div id="one" style="float:left;width:100px;background-color:#ff9900; ">one<br>one<br>one<br>one<br>one<br>one<br>one<br></div> <div id="three" style="float:right;width:100px;background-color:red;">three </div> <div id="two" style="float:left;width:70%;background-color:#ff9988;">two jdfk hnldncf ddhf sd ohdnfc kbldhcv ohsvnskd hvjnsdhv hviopsdhv kbhopvd v onksdnv oln;sdmnv m;mv mnml;vm vm;klf kdfl'gl;v 'fg 'kdf'kvb'l ;'lfk</div> </div> </BODY> </HTML> I noticed when I increased the % width of my <div two> it goes below my <div three> I was under the impression it should just stay at the same level and text should wrap around my div three? But I guess that's not the case. Am I doing the something wrong or is this the expected behavior? Similar TutorialsI am new to this stuff started php about a month ago now i started with this css nav menu last week and can not figure out how to get the thing in the center of the page also in FF the nav menu is fine just not in the right location in IE the bottom half of the nav menu sticks out one inch past the top half here is my css PHP Code: #divNav { background: transparent url(../images/bk-nav.jpg) no-repeat top left; margin: 0; padding: 0; height: 80px; width: 800px; } #nav { position: relative; top: 55px; height: 80px; width: 800px; } #nav li ul, #nav li ul { margin: 0; padding: 0; } #nav a { text-decoration: none; } #nav li { /*float the main list items*/ margin: 0; float: left; display: block; padding-right: 15px; } #nav li ul { display: none; } #nav li.off ul, #nav li.on ul { /*put the subnav below*/ position: absolute; top: 25px; left: 0; padding-top: 15px; background: #224d6f; height: 28px; width: 740px; padding-left: 60px; } #nav li.on ul { background: #f90; } #nav li.on:hover ul, #nav li.over ul { /*for ie*/ background: #224d6f; } #nav li a { color: #224d6f; font-weight: bold; display: block; width: 93px; padding: 0; } #nav li.on a { color: #f90; } #nav li.on ul a, #nav li.off ul a { border: 0; float: left; /*ie doesn't inherit the float*/ color: #f90; width: auto; margin-right: 15px; } #nav li.on:hover ul a, #nav li.over ul li a { /*for ie - the specificity is necessary*/ background: #224d6f; } #nav li.on ul { display: block; } #nav li.off:hover ul, #nav li.over ul { display: block; z-index: 6000; } #nav li.off a:hover, #nav li.on a:hover { color: #f90; } /*do the image replacement*/ #nav li span { position: absolute; left: -9384px; } #liRenaissance a, #liArtNouveau a, #liModern a, #liPostModern a, #liDigital a { display: block; position: relative; height: 26px; background: url(../images/bk-dropdownMap.gif) no-repeat; /*contains all hover states*/ } /*first, put the initial states in place*/ #liRenaissance a { background-position: 0 0; } #liArtNouveau a { background-position: -102px 0; } #liModern a { background-position: -204px 0; } #liPostModern a { background-position: -306px 0; } #liDigital a { background-position: -408px 0; } /*active area - for this demo - the code could be based on a body class, and probably work better.*/ #liModern.on a { background-position: -204px -37px; } /*add selectors for the other li's and background-positions*/ /*hover states*/ #liRenaissance a:hover, #liRenaissance:hover a, #liRenaissance.over a { background-position: 0 -73px; } #liArtNouveau a:hover, #liArtNouveau:hover a, #liArtNouveau.over a { background-position: -102px -73px; } #liModern a:hover, #liModern:hover a, #liModern.over a { background-position: -204px -73px; } #liPostModern a:hover, #liPostModern:hover a, #liPostModern.over a { background-position: -306px -73px; } #liDigital a:hover, #liDigital:hover a, #liDigital.over a { background-position: -408px -73px; } /*subnav formatting*/ #nav li.off ul a, #nav li.on ul a { display: block; background: #224d6f; color: #fff; font-family: arial, verdana, sans-serif; font-size: small; } #nav li.on ul a { background: #f90; } I have a CSS call for all p, like this p { font-family: Arial, Helvetica, sans-serif; font-size: 12pt; } now I want headings to be ital, so I add p.ital { font-style: italic; } and set the class for some p to ital, and they inherit font family and font size. Now I want further inherit, italBold p.italBold { font-weight: bold; } That is, I want p.italBold to inherit from p.ital, which inherits from p. How can I do this? Thanks for your help CJB Argh - I am not very good with CSS (uhm, obviously) and all I am trying to do is change the color of some list items in a blog menu. It's Wordpress, and, it's not as if the blog is important - but this is driving me insane. I've installed Firebug in an effort to figure out what is making these items red - or #333. I can alter the code in Firebug and it gives a visual representation of what the edit would look like. But when I actually make the edit, nothing happens. And I've deleted my browsing history, used every browser, etc. - and I can change everything else! I am trying to change the text color in the right hand menu from red to, well, something else. The pages is at: http://www.webputzer.com The .css file looks like this: Code: /* Theme Name: alibi Theme URI: http://www.blogchemistry.com/ Description: 2 column, with RHS widget sidebar Version: 1.2 Author: BlogChemistry Author URI: http://www.blogchemistry.com/ */ body { margin: 0; padding: 0; color: #333; text-align:center; font-family:Arial, Verdana, Helvetica, sans-serif; font-size: 100.1%; background: #fff; } #wrapper2{ border-left: 1px solid #fff; border-right: 1px solid #fff; } #wrapper3{ border-left: 1px solid #666; border-right: 1px solid #666; } #wrapper4{ } #wrapper{ width: 770px; margin: 0px auto; padding: 0px; text-align:left; font-size: 85%; line-height:20px; background: #fff; border-left: 3px solid #333; border-right: 3px solid #333; } #header{ padding: 1px 0px; margin: 0; background: #ccc; } #header-inner{ margin:0; padding:0; } #content{ clear:both; margin: 0; padding: 5px 5px 5px 10px; background:#fff; } #content-inner{ } #main { width: 550px; float:left; margin: 0; padding: 5px 0 10px 0; overflow:hidden; } #sidebar { padding: 0; margin: 0 0 0 560px; background: #fff; } #footer { clear: both; margin: 0; padding: 10px 16px; text-align: center; font-size: 85%; } #footer-inner{ background: #f2f2f2; height: 50px; } #footer p{ margin:0; padding:15px 0; } #navigation{ padding: 5px 15px; } #navigation div.fleft{ float:left; } #navigation div.fright{ float:right; } #credit{ text-align:right; padding: 0 15px; } #credit p{ margin:0; color:#777; font-size:85%; } #credit p a, #credit p a:hover{ color:#999; font-weight:100; } /* ********** default styles *********** */ p, h1, h2, h3, h4, h5, h6{ margin: 10px 0; padding: 0; } h1, h2, h3, h4, h5, h6 { font-family: georgia, 'Times New Roman', sans-serif; } h1{ font-size: 190%; } h2{ font-size: 160%; } h3{ font-size: 120%; } h4{ font-size: 130%; } h5{ font-size: 100%; } h6{ font-size: 70%; } a{ color:red; font-weight:800; text-decoration:none; } a:hover{ color:red; text-decoration:underline; } a img{ border:0px; } hr{ height:2px; margin:5px 0; border-bottom: 1px solid #ccc; border-top: 1px solid #ccc; } blockquote{ background: #f4f4f4; padding: 5px 15px; margin: 3px 30px; } form{ margin: 0; padding:0; } fieldset{ padding:10px; margin:0; border:none; } legend{ font-weight:800; } code{ font-size: 90%; font-family: "Courier New", Courier, monospace; white-space: pre; } td{ vertical-align:top; } #tabs { float:left; width:100%; font-size:90%; background:#000; line-height:18px; border-top: 1px solid white; } #tabs ul { margin:0; padding:4px 10px 0 10px; list-style:none; } #tabs li { display:inline; margin:0; padding:0; } #tabs a { float:left; margin:0; padding:0 0 0 4px; text-decoration:none; } #tabs a span { float:left; display:block; padding:5px 15px 3px 6px; color:#FFF; } /* Commented Backslash Hack hides rule from IE5-Mac \*/ #tabs a span {float:none;} /* End IE5-Mac hack */ #tabs a:hover span { color:#FFF; } #tabs a:hover { background-position:0% -42px; } #tabs a:hover span { background-position:100% -42px; } /* Headings */ form#searchform2{ display: block; float:right; margin: 55px 10px 0px 5px; } #header h3{ margin: 0; padding: 30px 0 0 10px; } #header h3 a{ font-weight:100; color: #fff; text-decoration: none; font-size: 220%; letter-spacing: 1px; } #header h2{ margin: 0; padding: 10px 0 5px 10px; font-weight:100; font-style:italic; color: #fff; font-size: 130%; letter-spacing: 1px; } h2#sectiontitle{ font-size:100%; font-weight: 800; font-family: arial, verdana, sans-serif; padding:6px 6px 6px 10px; margin:8px 10px 5px 10px; background: #f2f2f2; color: #444; } /* post styles */ .post{ margin: 0 0 10px 0; padding: 0 5px 5px 5px; } .entry{ margin: 0; padding: 0px 10px 3px 10px; } .post h2 { color: #333; font-size: 150%; font-weight:100; padding: 7px 0 2px 2px; margin: 10px 0 15px 0; } .post h2 a{ color: #333; text-decoration:none; font-weight:100; } .post h2 a:hover{ text-decoration:none; color: #333; } .postmetadata{ font-size:80%; padding: 1px 8px 1px 5px; margin: 0; border-top: 1px solid #ccc; } .postmetadata p{ line-height: 18px; padding: 0; margin: 2px 0; } .date{ float:left; text-align:center; font-weight:800; margin: 0 10px 0 0; padding: 0 10px; border-right: 1px solid #ccc; color: #444; } .dateDay{ display:block; font-size: 16px; line-height: 16px; text-align:center; } .dateMonth, .dateYear{ display:block; font-size: 11px; padding:0; line-height: 12px; } /* Comments */ h3#comments, h3#postcomment{ font-size: 100%; font-family:verdana, sans-serif; } ol#commentlist{ padding: 0 0 0 20px; font-size: 90%; list-style-type: none; } ol#commentlist li{ padding: 0px 3px; margin: 0; } ol#commentlist li p.commentheader{ margin: 0px 0 0px 0; display: block; padding: 1px 5px; } ul#commentlist{ padding: 0; margin:0; list-style-type:none; } ul#commentlist li{ display: block; padding: 0; margin: 0 15px 5px 15px; font-size:90%; background: #f2f2f2; } ul#commentlist p{ margin: 6px 0; } ul#commentlist li div.comm{ margin: 1px; padding: 1px; } ul#commentlist li div.gravatar { width:50px; float:left; padding: 10px 0 0 10px; } ul#commentlist li div.gravatar img{ border: 2px solid #ccc; } ul#commentlist li div.commenttext{ padding: 0; margin:5px 10px 5px 65px; } ul#commentlist li div.commenttext div.commentwrapper{ margin:0 0 0 5px; padding: 3px 8px; } /* sidebar styles */ #subscribe p{ font-size: 85%; margin: 3px 0 10px 0; } .menu{ padding:0; font-size:90%; } .menu a{ font-weight: 100; } .menu a:hover{ text-decoration:none; } .menu ul{ margin:0; padding:0; list-style-type:none; } .menu ul li.widget{ padding:2px; margin:0 0 0px 0px; } .menu ul li.widget ul{ margin: 0; padding:0; } .menu ul li.widget ul li{ border-bottom:1px dotted #ccc; background: #f2f2f2; padding: 2px 0 2px 15px; margin:0; } .menu ul li.widget ul li ul{ } .menu ul li.widget ul li ul li{ border-top: 1px dotted #ccc; border-bottom: none !important; padding: 2px 0 2px 15px; } .menu ul li.widget h3{ font-family: arial; font-size:120%; padding:2px 0 1px 4px; margin:0; border-top: 3px solid red; border-bottom: 1px solid #bbb; color: #333; font-weight: 800; font-variant:small-caps; } .menu ul li h3 a{ color: #333; font-weight: 800; } .menu ul li h3 a:hover{ color: #333; text-decoration: none; } .menu form{ display:block; margin:0px; padding:4px; } .menu input{ margin:3px 0; font-size:90%; } li.widget .textwidget, li.widget #search { padding: 2px 5px; } /* Calendar styles */ #wp-calendar { empty-cells: show; margin: 10px auto 0; width: 155px; } #wp-calendar #next a { padding-right: 10px; text-align: right; } #wp-calendar #prev a { padding-left: 10px; text-align: left; } #wp-calendar a { display: block; } #wp-calendar caption { text-align: center; width: 100%; } #wp-calendar td { padding: 3px 0; text-align: center; } #footer a{ font-weight: 100; } If anyone could tell me what the heck is making this uneditable - man...I'd sure like to know... I am trying to create a page to be printed out as a letter but I cannot for the life of me make the footers stick to the bottom when printed. Here is the code: Code: <?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <title>Header Test</title> <style type="text/css"> body { font-family:arial; font-size:10pt; } h1 { text-align:center; margin:0; padding:0; } div.letter { page-break-after:always; } .from { text-align:center; } .to { font-style:normal; margin-top:30px; } .date { } .footer { position:absolute; bottom:0; } </style> <!-- compliance patch for microsoft browsers --> <!--[if lt IE 7]> <script src="/ie7/ie7-standard-p.js" type="text/javascript"></script> <![endif]--> </head> <body> <div class="letter"> <h1>Stanley Road Baptist Church</h1> <address class="from"> Stanley Road, Morecambe, Lancashire, LA3 1UP </address> <address class="to"> Joe Bloggs </address> <p class="date"> Friday 27th August 2004 </p> <p> Dear Joe,<br /> Blah blah blah. </p> <p> Yours sincerely, </p> <p> Matt Fletcher </p> <div class="footer"> The Footer In Question </div> </div> <div class="letter"> ... </div> <div class="letter"> ... </div> </body> </html> I can get it to stick to the bottom of only the first page, but it doesn't appear on any others. how do you set the width with CSS? i'd like to have a table with two columns, 70% and 30% with text-align left on the 70%, and text-align right on the 30%. any ideas? thanks. I have this: all my css files in one subdomain, html.website.com all my iamges in another subdomain, images.website.com i link my stylesheet: <link href="http://html.website.com/html/style.css" rel="stylesheet" type="text/css" /> and in the CSS: background:#333 url("../images/bodybg.png") repeat-x fixed top center; does not work. i have to put the whole domain in there? as far as relative paths, since the image is relative from the path of the location of the stylesheet? so I would think ../images/ should work? Hey guys, I am brand new to these forums, this seems like a good place to ask for help. So I am a novice web designer, I use AdobE Dreamweaver CS3. I have designed and coded some websites quite successfully, but now I keep running to the same problem. I have made my layout and turned it into different divs on Dreamweaver. This is in a very basic early stage. Next I want to add content, and I know how to do that, but every time I have done that and I add more content downward outside of the original "content" div's borders, the whole layout sometimes gets screwed up. Here is the address to the basic website that only looks to be alright: vivanidesign.com/newvivani/design.html. Then as I add content, to this particular page, it overflows, as shown in this website: vivanidesign.com/newvivani/designfail.html. How can I fix this? How can I make the background content image follow the text, so it will move down with it? Not just the content div, but the sidebar div also. Any help would be really great, I've tried to find out the answer to this for a while! Thanks! I am trying to figure out the best way to right justify an element in relation to other elements within a div. Here is an example: <head> <title>right position</title> <style type="text/css"> #maindiv {width: 600px; background: #cccccc; padding: 10px; border: solid 1px black;} .left {font-size: 2em;} .right {padding-left: 350px} </style> </head> <body> <div id="maindiv"> <span class="left">hello world</span> <span class="right">hi there</span> </div> </body> This can't be the best way to right position something, can it? The only alternatives I can think of are absolute positioning or possibly floating, which seems unnecessarily complicated for something so simple. Can anyone suggest a better way of doing this? Ideally, the element would stay pinned to the right even if the left element changes widths. Thanks in advance, CSS Newbie! Hello, I am currently making a site, and this is my first experience using css, and so far I love it. Now I have a page with multiple links on it, and this page has its css info stored in a seperate css file. Now I want some of the links to show up in all satus's (hover, visited ect)with one color, size ect, and some links to show up with a different color. I know i can modify all the links on the page color by adding this to the css page... ------------------------ A:LINK {font-family: Arial, Helvetica, sans-serif; color:#000000; text-decoration:none; font-size:12pt; font-weight:bold;} ----------------------- but how can i make it so each class has a differnt a:link, a:visited, ect. Thanks! I've got limited experience with CSS and I've never done anything with divs, only tables. So my question is really, really, really basic: Not being as adept at CSS as I could be, especially positioning, I'm sort of at a loss as to how to best structure my page using divs. Looking at the comp at http://homework.describe.org/esdcar_home.jpg, would it be best to make everything from the top to the start of the brown bar at the bottom and from the left to the start of the picture one "column" (with nested divs), with everything to the right of the picture's edge a second "main content" column with nested divs inside it? Or should I make one header div that runs from left to right until either above or below the navigation (?), and everything below that point be a 2-column layout (until the brown bar at the bottom)? Does it matter one way or the other? Will it one day be clear to me immediately exactly how best to divide up and structure a page from a comp? Am I just a confused soul, or does everyone kind of struggle with this at the beginning? Sorry to ask such basic questions, but... Thanks in advance. T. Really basic question. I've created a CSS text class. How do I reference it to apply to a text sample? I've been using this page as my guide: http://www.htmlgoodies.com/beyond/css/article.php/3470231 But they only reference commands such as <I class="name"> and <U class="name">. I don't want to add any Italics or Underlines, so how do I only reference the class? Tip of the tongue syndrome: What is the CSS selector that affects all elements, again? I remember it being "*" or something I want to apply a thin border to everything on my layout so I can see where the positionings have gone. Good Day All, I have a basic layout question. In this page, any many others, I have my image element floated to the left of a table. This seems to work well in big resolutions but when I view the page on smaller resolutions, the table gets pushed down below the image. In some cases, this is ok... but if I want to prevent this from happening and keep the img and table together to prevent the dropping, how can I do this? What is the cleanest/easiest way? In the example below, the 4th table from the top is the one that will drop first. Any thoughts greatly appreciated. Also, I would like to keep my liquid layout other than grouping these two items together - and I only need to apply this to a few of them, not all. http://029c92a.netsolhost.com/abrasives/cutmetalm.html Colin I need the following with this simple example 1) Horizontal Tabs: the <dt> appears along the top in one horizontal line, and when you click on the name, it'll display the <dd> content below. As you click on other tabs, the content area will be replaced by the corresponding tab content. If you click on a tab that's already opened, it'll close the display of its content. 2) Vertial Tabs: the <dt> appears long the left side of the page, each tab taking up one line. When you click on the name, the <dd> content will display to the right of the tabs. Same as above, as you click on other tabs, the content area will be replaced by the corresponding tab content. [php] <dl> <dt>Tab 1</dt> <dd>Content 1<br>Content 1<br>Content 1<br></dd> <dt>Tab 2</dt> <dd>Content 2<br>Content 2<br>Content 2<br></dd> </dl> [/php hope someone can help Hi all, I've been struggling with a basic layout question for a while and I could use some direction as a recent CSS convert. Basically I have a two column layout contained within another div (for borders and colors). What is happening is that my container only grows vertically to the size of the right column regardless of the size of the the left. Is there a way to "attach" the containing div to which ever column is the tallest? I've setup a test page to show the problem. This occurs in I.E. 6.0 and Firefox 1.5.x (Windows and Unix). Thanks very much for any pointers. I'm taking over a departmental web page that has a whole bunch of Code: <body topmargin="0" bottommargin="0" leftmargin="0" rightmargin="0"> in the web pages. Does anyone know how to put this in a stylesheet so that I don't have to put this code in every <body> tag when I create a new page? I've searched all over and can't find a reasonable resolution. Thanks Hi there, I'm back again I'm afriad with another minor problem with my new site design. Have a look at the test version of my website he http://www.eveythingfree.buildtolearn.net/classifieds/ If you are looking at it in Internet Explorer it should look fine, but if you try it in Mozilla Firefox or Netscape it looks badly messed up. The problem is with the 2 boxes near the top of the page, the "latest forum posts" one and the "search box". The whole page (from bellow the navbar) is laid out by the php script that generates most of the content of the site. Thus I am limited in what I can adjust but I can use .css to layout these two boxes. Here is the css that controls the forum and search boxes: Code: .forums { font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 10px; color: #666666; text-decoration: none; border: 1px solid #666666; padding: 5px 10px 10px; background-color: #F9F9F9; position: relative; width: 453px; height: 100px; left: 10px; top: 10px; vertical-align: top; margin-bottom: 10px; float: left; } .searchbox { font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 10px; color: #666666; text-decoration: none; border: 1px solid #666666; background-color: #F9F9F9; width: 230px; height: 100px; left: 20px; vertical-align: top; margin-bottom: 10px; padding-top: 15px; top: 10px; position: relative; } .listings { position: relative; top: 10px; } Now I'm pretty sure that the problem lies with the "float" property in .forums. I seem to recall Mozilla and Netscape don't recognise this in the same way IE does. Is there a way of making the site look the same in other browsers as it does in IE? Without the "float" property I have failed to get it to look right, but there must be some way around this problem. I'd really appreciate any help, as this one thing has been holding me back for ages! Thanks, Robert what is the equivilant to <table border="1" cellpadding="2" cellspacing="0"> in css? i've tried PHP Code: table { border-spacing: 0px; padding: 0px; border-colapse: colapse; border-style: solid; border-width: 1px; } td { border-style: solid; border-width: 1px; padding: 2px; } That makes the width 2px wide though. I want it to only be one. And the padding seems to be messed up as well. Please help me with a couple of questions about following style sheet element. The url('blue_field.jpg') form is strange to me. Can this be rewritten in <img src=""> form? Any reason why not? Could I write background: <img src="/pic/blue_field.jpg">; Also, what is (repeat-y top left) ?? I have never seen this either. Thank you. Ed Shaw -----------------------css----------------------------- Links { background: url('bluefield.jpg') repeat-y top left; padding: 10px; margin-top: 180px; width: 150px; font-style:normal; font- variant:normal; font-weight:normal; font-size:10px; font-family:verdana, sans-serif } -----------------------css------------------------- Hello, I followed this example that "should" working (not to me): http://lau.csi.it/realizzare/accessibilita/fogli_di_stile/position/completo.htm ]float[/URL] and I wrote my css: Code: body { background-color: white; color: black; padding: 10px; } div.footer { padding: 0.5em; color: white; background-color: gray; clear: left; border: Solid 2px; } div.footer .middle { margin: 0 15%; border: Dashed 2px; } div.footer .right { width: 15%; float:left; margin-right: 10%; border: Dashed 2px; } div.footer .left { float:left; width: 15%; margin-left: 0%; border: Dashed 2px; } <div class="footer"> <div class="left"> Hiya!!! </div> <div class="middle">Hello everybody</div> <div class="right"> Copyright 2011 by EX </div> </div> If I put the margin of the link, it doens't show the content of "left" and "right" part; if I use the margins as I wrote here above, it doens't show the content of "right". What I want is: a footer with a sign on the left (with the text left aligned), a sign in the middle, and one on the right (with the text right aligned). I thin that the problem are not just the margins. Can anybody help, please? |