Start learning with our library of video tutorials taught by experts. Get started

Dreamweaver CS3 Beyond the Basics
Illustration by

Understanding floating elements


From:

Dreamweaver CS3 Beyond the Basics

with James Williamson

Video: Understanding floating elements

The last positioning model we need to discuss before we can begin laying out our page elements is floating elements. Now if an element is floated, essentially it's removed from normal document flow and it floats either to the right or to the left based upon the float value, because you can float it to the right or to the left, and they position themselves until the floated edge touches the edge of the containing block, and that could be the parent element or that could be the body tag if that happens to be their parent element itself the containing element. Now the trick here is that any element that comes after them in the document flow moves up to occupy the previous position. In the example, you are seeing them slide, Box 1 is floated to the right, so Box 2 and 3 come up and float beside it. In the slide, Box 1 is being floated to the right, meaning elements Box 2 and Box 3 move up to occupy the position Box 1 used to occupy. The problem that most people with floats is they don't really understand that removing it from normal document flow means that Box 1 could overlap Box 2 and Box 3. So if you take Box 1, and float it to the left, Box 2 and Box 3 will merely move up underneath it, and some browsers, and Internet Explorer being the most obvious one, they correct that by going ahead and moving those elements over to the right and that's actually an incorrect representation of the box model and standards-compliant browsers will actually show you the elements floating up underneath it. So what we are going to do now is we'll go back in the Dreamweaver, and we will float some elements and we will check out the behaviors of removing it from the normal document flow and how block-level elements react to each other as they are floated. So in Dreamweaver, we are working on a floats _basic.htm file and you will find that in your Chapter 3, Exercise Files and a quick review of our element on the page, we have box number 1, box number 2, and box number 3, and their div tags where we have assigned them a width and a height and a background color and padding. So those box elements those box-model elements have been defined in each of this. So I am going to go over to my CSS Styles panel and I will select box number 1. Now I am going to expand my CSS Style panel down a little bit so that I can see all of the properties and modify them without actually having to go into code or open up another dialog box. So I am just going to go ahead and click Add Property, and we will go ahead and choose Float and remember you can begin typing it in to jump down or you can just select it from the menu, or you can just type in Float, and we will go ahead and float that to the right. Now when we do that, notice that happens to box number 1, it moves over to the very right edge of the container elements, there is a div tag that wraps around all through these elements called container. Container itself has a defined width, so Box 1 goes as far right as it can, which is right up against the edge of the container. Box 2 and box number 3 move up to occupy that space. Had I chosen it to float it to the left, notice what happened. Box number 2 and box number 3 moved up to occupy that same spot. Now the background for box number 2, notice it slides up underneath the background of box number 1. However, the content for box number 2 doesn't move up; it's pushed down. It's considered to be overflowing its boundaries now. So that can actually cause quite a problem when people are expecting to create kind of a two-column layout with box number 1 on the left and if I were to preview this in a browser, and I am going to save changes so I can preview that. You can see that Firefox renders it the exact same way the green background is actually hidden because it's exactly the same size as box number 1, and then box number 2 is pushed down. So when you are doing a float, you got to understand that the block-level elements underneath you, if you are floating them on the same position as your previous elements, they are just going to come up to occupy that space. Now, a lot of time you can arrange elements by floating multiple elements. I am going to select box number 2. I will add a property to it, and we will just go ahead and float it and we will float it to the left as well. So notice, Box 2 is now floating to the left. Now it's suppose to float as far left as it can, and often that will result in touching the containing element, and in this case, it's actually touching the previously floated elements, so butts up right up against that.
Expand all | Collapse all
  1. 2m 3s
    1. Welcome
      1m 17s
    2. Using the exercise files
      46s
  2. 1h 23m
    1. Reviewing the Coding toolbar
      8m 42s
    2. Customizing the Coding toolbar
      9m 52s
    3. Taking advantage of Code Hinting
      7m 20s
    4. Using snippets and shortcuts
      11m 10s
    5. Using the Quick Tag Editor
      5m 18s
    6. Using Find and Replace
      9m 50s
    7. Regular expressions
      5m 39s
    8. Using Bridge with Dreamweaver CS3
      8m 28s
    9. Round-trip editing with Photoshop CS3
      3m 40s
    10. Leveraging image variables in Photoshop CS3
      7m 32s
    11. Integrating external variables into your workflow
      6m 16s
  3. 37m 26s
    1. Understanding the CSS Styles panel
      7m 59s
    2. Understanding the Cascade
      5m 50s
    3. Understanding Inheritance
      5m 8s
    4. Understanding Specificity
      7m 5s
    5. Managing CSS styles
      5m 4s
    6. Using Design-Time style sheets
      6m 20s
  4. 2h 19m
    1. Using the new CSS template pages
      5m 59s
    2. Understanding DIV tag structure and layout
      12m 0s
    3. Understanding the CSS box model
      10m 0s
    4. Using absolute and relative positioning
      8m 35s
    5. Understanding floating elements
      7m 9s
    6. Clearing floats
      7m 19s
    7. Using floats to control page layout
      3m 45s
    8. Building structure and assigning IDs
      10m 19s
    9. Applying basic styling to structured content
      11m 14s
    10. Positioning container elements
      11m 4s
    11. Enhancing layouts with background graphics
      11m 48s
    12. Creating faux columns with background graphics
      8m 55s
    13. Creating rounded corners with background graphics
      9m 17s
    14. Building navigation with CSS
      16m 57s
    15. Using Dreamweaver's Browser Check feature
      5m 31s
  5. 53m 22s
    1. Creating properly structured forms
      6m 30s
    2. Creating accessible forms
      6m 41s
    3. Using CSS to lay out form structure
      7m 40s
    4. Creating vertical columns for form elements
      7m 48s
    5. Adding user feedback
      5m 52s
    6. Applying advanced styling to forms
      8m 11s
    7. Client-side form validation
      4m 17s
    8. Validating forms with the Spry Validation tools
      6m 23s
  6. 1h 20m
    1. Understanding the Spry framework
      3m 43s
    2. Defining a data source for use in Spry
      3m 56s
    3. Creating a Spry table
      8m 8s
    4. Using the Spry widgets
      8m 11s
    5. Connecting various data sets
      4m 50s
    6. Understanding Spry widget structures
      7m 1s
    7. Applying custom styles to Spry widgets
      6m 24s
    8. Applying additional custom styles to Spry widgets
      8m 46s
    9. Controlling Spry widget behaviors with JavaScript
      6m 0s
    10. Controlling Spry widget animations with JavaScript
      9m 31s
    11. Creating effects with Spry behaviors
      4m 42s
    12. Hand-coding Spry
      9m 11s
  7. 1h 11m
    1. Creating a base template
      8m 6s
    2. Creating editable attributes
      6m 26s
    3. Creating a new page from a template
      7m 42s
    4. Applying a template to an existing page
      4m 36s
    5. Creating nested templates
      5m 24s
    6. Using repeating regions
      6m 34s
    7. Creating editable and non-editable optional regions
      6m 0s
    8. Using template parameters
      7m 26s
    9. Using template expressions
      9m 59s
    10. Using conditional template expressions
      8m 54s
  8. 54m 40s
    1. Examining XML structure
      2m 44s
    2. Creating an XML document
      9m 9s
    3. Using the CDATA structure
      5m 7s
    4. Creating an XSLT file
      4m 33s
    5. Binding data from an XML to an XSLT document
      5m 6s
    6. Inserting repeating regions into an XSL document
      5m 16s
    7. Creating a client-side XSL transformation
      2m 52s
    8. Styling a remote RSS feed
      7m 29s
    9. Creating a server-side XSL transformation
      5m 31s
    10. Writing XSL expressions
      6m 53s
  9. 1h 2m
    1. Overview of building dynamic websites
      1m 35s
    2. Installing PHP, MySQL, and Apache on Mac
      3m 22s
    3. Installing PHP, MySQL, and Apache on Windows
      3m 54s
    4. Creating a MySQL database
      3m 16s
    5. Defining a testing server and database bindings
      6m 14s
    6. Creating a database recordset
      4m 35s
    7. Adding dynamic content to the page
      5m 14s
    8. Creating repeating regions of dynamic content
      7m 6s
    9. Filtering database records
      7m 39s
    10. Using the Live Preview
      10m 22s
    11. Passing URL parameters
      4m 23s
    12. Dynamically generating links
      5m 18s
  10. 57m 9s
    1. Understanding behaviors
      5m 16s
    2. Installing additional behaviors
      3m 39s
    3. Planning to create a custom behavior
      3m 42s
    4. Examining existing behaviors
      5m 32s
    5. Building a behavior function
      7m 23s
    6. Creating an Action file
      6m 48s
    7. Enabling behavior functions
      9m 1s
    8. Initializing the user interface for a behavior
      3m 9s
    9. Loading behaviors in Dreamweaver
      6m 47s
    10. Testing and debugging behaviors
      5m 52s
  11. 27m 12s
    1. Running reports
      7m 41s
    2. Checking and validating links
      3m 40s
    3. Using cloaking
      5m 42s
    4. Using Check In/Check Out
      4m 3s
    5. Using Design Notes
      6m 6s
  12. 20s
    1. Goodbye
      20s

Watch this entire course now—plus get access to every course in the library. Each course includes high-quality videos taught by expert instructors.

Become a member
please wait ...
Dreamweaver CS3 Beyond the Basics
11h 10m Intermediate Sep 21, 2007

Viewers: in countries Watching now:

Covering diverse topics such as improving workflow and managing CSS styles, Dreamweaver CS3 Beyond the Basics is a hands-on course that teaches users how to move beyond standard, static websites. Instructor James Williamson explores how to increase productivity, interactivity, and accessibility with Dreamweaver. He also discusses how to extend the application's capabilities with XML and XSL. Exercise files accompany the tutorials.

Topics include:
  • Reviewing and customizing the coding toolbar
  • Understanding the CSS Styles panel
  • Using absolute and relative positioning
  • Creating accessible forms
  • Building AJAX pages with the Spry framework
  • Extending templates
  • Working with XML and XSL
  • Building dynamic content
  • Creating custom behaviors in Dreamweaver
  • Running reports
Subject:
Web
Software:
Dreamweaver
Author:
James Williamson

Understanding floating elements

The last positioning model we need to discuss before we can begin laying out our page elements is floating elements. Now if an element is floated, essentially it's removed from normal document flow and it floats either to the right or to the left based upon the float value, because you can float it to the right or to the left, and they position themselves until the floated edge touches the edge of the containing block, and that could be the parent element or that could be the body tag if that happens to be their parent element itself the containing element. Now the trick here is that any element that comes after them in the document flow moves up to occupy the previous position. In the example, you are seeing them slide, Box 1 is floated to the right, so Box 2 and 3 come up and float beside it. In the slide, Box 1 is being floated to the right, meaning elements Box 2 and Box 3 move up to occupy the position Box 1 used to occupy. The problem that most people with floats is they don't really understand that removing it from normal document flow means that Box 1 could overlap Box 2 and Box 3. So if you take Box 1, and float it to the left, Box 2 and Box 3 will merely move up underneath it, and some browsers, and Internet Explorer being the most obvious one, they correct that by going ahead and moving those elements over to the right and that's actually an incorrect representation of the box model and standards-compliant browsers will actually show you the elements floating up underneath it. So what we are going to do now is we'll go back in the Dreamweaver, and we will float some elements and we will check out the behaviors of removing it from the normal document flow and how block-level elements react to each other as they are floated. So in Dreamweaver, we are working on a floats _basic.htm file and you will find that in your Chapter 3, Exercise Files and a quick review of our element on the page, we have box number 1, box number 2, and box number 3, and their div tags where we have assigned them a width and a height and a background color and padding. So those box elements those box-model elements have been defined in each of this. So I am going to go over to my CSS Styles panel and I will select box number 1. Now I am going to expand my CSS Style panel down a little bit so that I can see all of the properties and modify them without actually having to go into code or open up another dialog box. So I am just going to go ahead and click Add Property, and we will go ahead and choose Float and remember you can begin typing it in to jump down or you can just select it from the menu, or you can just type in Float, and we will go ahead and float that to the right. Now when we do that, notice that happens to box number 1, it moves over to the very right edge of the container elements, there is a div tag that wraps around all through these elements called container. Container itself has a defined width, so Box 1 goes as far right as it can, which is right up against the edge of the container. Box 2 and box number 3 move up to occupy that space. Had I chosen it to float it to the left, notice what happened. Box number 2 and box number 3 moved up to occupy that same spot. Now the background for box number 2, notice it slides up underneath the background of box number 1. However, the content for box number 2 doesn't move up; it's pushed down. It's considered to be overflowing its boundaries now. So that can actually cause quite a problem when people are expecting to create kind of a two-column layout with box number 1 on the left and if I were to preview this in a browser, and I am going to save changes so I can preview that. You can see that Firefox renders it the exact same way the green background is actually hidden because it's exactly the same size as box number 1, and then box number 2 is pushed down. So when you are doing a float, you got to understand that the block-level elements underneath you, if you are floating them on the same position as your previous elements, they are just going to come up to occupy that space. Now, a lot of time you can arrange elements by floating multiple elements. I am going to select box number 2. I will add a property to it, and we will just go ahead and float it and we will float it to the left as well. So notice, Box 2 is now floating to the left. Now it's suppose to float as far left as it can, and often that will result in touching the containing element, and in this case, it's actually touching the previously floated elements, so butts up right up against that.

And of course box number 3 did exactly what we expected it to do. It just came right up underneath and occupied the space that Box 1 and 2 used to occupy within the document flow. So we will select box number 3 and we will go ahead and add a property there. So I will add float to that, and we will float this one to the left too. Ugly enough, floating box number 3 to the left occupies, makes it occupy the far right edge of our containing element, and so box number 1, floats to the left, box number 2 floats to the left and box number 3 floats to the left, and because of the fact that they are floating as far left as they can, they are touching each other causing a horizontal alignment of the three elements. So a lot of times when you want to horizontally align some elements, floating them to the right, or floating them to the left is actually a really good way to do that. The containing elements still has some control over that, but I don't know if you noticed it or not, the yellows sort of went away. As I save this file and preview it in my browser again, and you can see there is really no trace of the containing element and that's due to the fact that containing elements that have floated elements inside of it tend to collapse, and we will deal with that in a later movie, but one of the things I want to talk about right now very quickly is how elements can get hung on one another.

If I take our containing element and add a width property to this and give it a width of around 500 pixels, notice what happens to box number 3. It can no longer fit horizontally within that 500 pixels, so it has to break back down to the next line. So we can actually control how our floated elements position inside our containing elements by controlling the width of the container, and this is easy enough to do, but sometimes it causes elements to get hung. Box number 1 isn't that tall, so box number 3 is able to just return right back to the next line but if we took box number 1 and we modify its height property and change its height to around 300 pixels, what would happen to box number 3. It can't make it over against the far edge anymore, so we end up with what almost looks like a two-column layout and a lot of people actually use this to do it a two-column layout. You have to be really careful about this however. You'll notice that if I take the height to back to say 110 pixels, even though it looks like box number 3, it should be able to occupy the left most edge, it can't because the little tiny corner is keeping it from doing that. So uneven heights can cause your floated elements to hang like box number 3 is hanging currently. Well, we've taken a look at floating elements and how they react to each other when you float them to the left or to the right of each other, how multiple floats affect each other, but one of the things that we saw here was the containing element collapse. So in our next movie, we are going to talk about clearing floats and dealing with some of those collapsing issues.

Find answers to the most frequently asked questions about Dreamweaver CS3 Beyond the Basics.


Expand all | Collapse all
please wait ...
Q: In the Chapter 3 movie “Creating rounded corners with background graphics”, the instructor uses a .last class selector. What are the CSS properties of this selector?
A: The .last selector is as follows:
#current p.last{
background: url(../_images/current_btm_bg.gif) no-repeat bottom
left;
padding-bottom: 2em;
margin: 0;
}
The background is the bottom rounded corner graphic, the bottom padding keeps the type away from the bottom of the box and thus the rounded corners, and the margin ensures that the box elements fit seamlessly with each other.
 
Share a link to this course

What are exercise files?

Exercise files are the same files the author uses in the course. Save time by downloading the author's files instead of setting up your own files, and learn by following along with the instructor.

Can I take this course without the exercise files?

Yes! If you decide you would like the exercise files later, you can upgrade to a premium account any time.

Become a member Download sample files See plans and pricing

Please wait... please wait ...
Upgrade to get access to exercise files.

Exercise files video

How to use exercise files.

Learn by watching, listening, and doing, Exercise files are the same files the author uses in the course, so you can download them and follow along Premium memberships include access to all exercise files in the library.
Upgrade now


Exercise files

Exercise files video

How to use exercise files.

For additional information on downloading and using exercise files, watch our instructional video or read the instructions in the FAQ.

This course includes free exercise files, so you can practice while you watch the course. To access all the exercise files in our library, become a Premium Member.

join now Upgrade now

Are you sure you want to mark all the videos in this course as unwatched?

This will not affect your course history, your reports, or your certificates of completion for this course.


Mark all as unwatched Cancel

Congratulations

You have completed Dreamweaver CS3 Beyond the Basics.

Return to your organization's learning portal to continue training, or close this page.


OK
Become a member to add this course to a playlist

Join today and get unlimited access to the entire library of video courses—and create as many playlists as you like.

Get started

Already a member?

Become a member to like this course.

Join today and get unlimited access to the entire library of video courses.

Get started

Already a member?

Exercise files

Learn by watching, listening, and doing! Exercise files are the same files the author uses in the course, so you can download them and follow along. Exercise files are available with all Premium memberships. Learn more

Get started

Already a Premium member?

Exercise files video

How to use exercise files.

Ask a question

Thanks for contacting us.
You’ll hear from our Customer Service team within 24 hours.

Please enter the text shown below:

The classic layout automatically defaults to the latest Flash Player.

To choose a different player, hold the cursor over your name at the top right of any lynda.com page and choose Site preferencesfrom the dropdown menu.

Continue to classic layout Stay on new layout
Exercise files

Access exercise files from a button right under the course name.

Mark videos as unwatched

Remove icons showing you already watched videos if you want to start over.

Control your viewing experience

Make the video wide, narrow, full-screen, or pop the player out of the page into its own window.

Interactive transcripts

Click on text in the transcript to jump to that spot in the video. As the video plays, the relevant spot in the transcript will be highlighted.

Are you sure you want to delete this note?

No

Notes cannot be added for locked videos.

Thanks for signing up.

We’ll send you a confirmation email shortly.


Sign up and receive emails about lynda.com and our online training library:

Here’s our privacy policy with more details about how we handle your information.

Keep up with news, tips, and latest courses with emails from lynda.com.

Sign up and receive emails about lynda.com and our online training library:

Here’s our privacy policy with more details about how we handle your information.

   
submit Lightbox submit clicked
Terms and conditions of use

We've updated our terms and conditions (now called terms of service).Go
Review and accept our updated terms of service.