Featured Tutorials

ADO, ADO.NET, ASP, VB, C#, c sharp, database ADO Connection Strings

ADO Connection Strings

A reasonably comprehensive list of ADO and ADO.NET database connection strings for use wit..

Position, of, mouse, flash, tutorial Position of mouse

Position of mouse

This Flash tutorial will teach you how to display the x and y position of the mouse, so wh..

Photoshop, tutorial, sparkle effect, effects, brushes How to make sparkles in Photoshop

How to make sparkles in Photoshop

A Photoshop tutorial showing how sparkles can be made using some simple but very effective..

graphics design,business cards,business card design,business card ideas,how to design, business card sizes,layouts Ideas for Business Card Layouts

Ideas for Business Card Layouts

Heres a few ideas for those struggling to come up with professional business card designs,..

flash gallery,rotating gallery,dynamic flash,dynamic gallery,flash based gallery,flash image changing,change images Dynamic Rotating Gallery in Flash

Dynamic Rotating Gallery in Flash

This tutorial will teach you how to create a dynamic rotating gallery within flash for sho..

Featured Videos

Heres a tutorial showing off a fancy new scripting feature in dre..

This video will teach you some basic techniques for creating and ..

Foto Flexer is an amazing tool allows you to resize photos dynami..

This tutorial will teach you how to use the new Photoshop CS3 Van..

This video will open your eyes to the strange phenomenon of Traga..

How to stay A-Float in CSS

Here’s an article for beginners in the practice of CSS Layouts, my reason for writing this one came from remembering the difficulty I once had position elements in CSS. After many frustrating attempts with relative and absolute position techniques I finally found the holy grail of CSS the “Float” attribute!

 

Relative & Absolute Positioning

Ok so I’ve started to design my web site and have learnt how to position things using the position: relative and position: absolute; heres some examples of these below:

This works well, for basic positioning, but when your layouts become a little more complex as they always tend to do, tyring to position div's within div's using this method can become a real struggle.

Troubles can start when elements positioned as absolute can often position themselves to the entire page as apposed to the containing div, which can sometimes become a real nightmare.

Other simple tasks such as creating multiple divs in-line with each other for navigations etc can also involve many un-nessisary left right positioning values. So save yourself the trouble and crack open a can red bull and give yourself some wings!

 

The CSS Float Attribute

The float attribute allows you to position objects to either the left or right of your page <div> tag, for example using the following section of code creates a page with two boxes one on the left hand side the other on the right.

<div style="float: left; width: 50%; height: 100px;"></div>
<div style="float: right; width: 50%; height: 100px; "></div>

Floating multiple elements on the same line

Now this is the cool thing about Float, unlike the other positioning attributes it makes it so easy to position elements right next to each other. For example if your wanted to create a navigation menu that spanned left to right with say 5 different boxes, the Float attribute makes this so simple.

When you create a floated div tag using the following code: float: left; providing it fits into the length of the page it will position this flush with the side of a previous floated element, see below.

If you then wanted to start your next element below this new set of navigation boxes, simply add the “clear” setting to the next tag followed by the side setting of the previous float tag, the example above also shows how this set of elements was started on a newline using the clear: left; setting.

float: left; clear: left;

Also using the following setting on your element will drop it onto the next line underneith any left or right floated elements:

float: left; clear: both;

Extra tips for CSS Floating

Float: center; does not exist

Don’t ask me why this has never been added to the CSS library but it is easily fixed, if you want to center a div within a float tag simply create a div without the use of the float attribute and use the following margin settings:

<div style="float: left; width: 600px;">
<div style="width: 300px; margin-left: auto; margin-right: auto;"></div>
</div>

Margin auto does not work in IE?: Yes another IE related bug but heres the fix, for Internet Explorer you will also need to add the following to your CSS for this centering to work.

html, body {
text-align: center;
}

Float inside a Float

When adding a div tag with the float attribute within another div try to remember that the preceeding tag must also have the float attribute applied to it. Think of this tip as a fix for when you float something and it dosent seem to take effect on your layout.

<div style="float: left; width: 600px;">
<div style="float: left; width: 300px;" ></div>
</div>

 

More Web Design...

Other Content...

 Subscribe to our feed

Send to a friend