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

Dreamweaver CS3 Beyond the Basics
Illustration by

Using absolute and relative positioning


From:

Dreamweaver CS3 Beyond the Basics

with James Williamson

Video: Using absolute and relative positioning

When controlling element positioning on the page, there are three positioning models that your browser is going to use: normal document flow, absolute positioning, and floats. In this movie, we will discuss absolute positioning and relative positioning, which is actually considered part of normal document flow, and we will discuss floats in our next movie. So absolute positioning is going to take an element and actually remove it from your normal document flow. Your normal document flow basically states that block level elements position themselves on top of each other from the top of the page to the bottom of the page, and inline level elements will go from left to right. So in this example, in normal flow, div tags, Box 1, 2, and 3 are positioned right on top of each other because that's the order that they come in the content. So Box 1 is first, then Box 2, and box number 3. And based upon their margins and padding, we learned about in the box model in the last movie, they are going to space themselves out accordingly. Well, if we start adding positioning attribute to the mix, and we start working with absolute positioning, we can take one or more of these elements and actually remove them from that normal document flow.
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

Using absolute and relative positioning

When controlling element positioning on the page, there are three positioning models that your browser is going to use: normal document flow, absolute positioning, and floats. In this movie, we will discuss absolute positioning and relative positioning, which is actually considered part of normal document flow, and we will discuss floats in our next movie. So absolute positioning is going to take an element and actually remove it from your normal document flow. Your normal document flow basically states that block level elements position themselves on top of each other from the top of the page to the bottom of the page, and inline level elements will go from left to right. So in this example, in normal flow, div tags, Box 1, 2, and 3 are positioned right on top of each other because that's the order that they come in the content. So Box 1 is first, then Box 2, and box number 3. And based upon their margins and padding, we learned about in the box model in the last movie, they are going to space themselves out accordingly. Well, if we start adding positioning attribute to the mix, and we start working with absolute positioning, we can take one or more of these elements and actually remove them from that normal document flow.

So you can see on the right-hand side of this line, we have a selector called Box1 and we are defining with a width of 100 pixels, and we are giving it absolute positioning, and then we are using the let and top properties. Now you can use left, top, right, and bottom, to choose which corner or which edge of the element is going to be positioned, and in this case, we are saying left and top. So we are saying left of 50 pixels, top of 200 pixels. Now positive left values are going to move you to the right, positive top values are going to move you down. So if you wanted to move to the left, or you wanted to move up, you would use negative values. So you can think of the top left-hand corner of the page as being at 0, 0 point on the X and Y grid. So if I move it over by 50 pixels, and then move it down by 200 pixels, I am moving it away from the other two elements. Now because we have removed it from normal document flow, box number 2 and box number 3 react as if Box 1 weren't there anymore, and they move up to occupy that position. Because of the fact that we have removed them from normal document flow, you can sort of think of any position elements as sort of hovering above your other contents. So box number 1 actually does something that up until now was impossible in HTML, which is it positions itself on top of another element. It's hovering over box number 3. Now, absolute positioning is pretty easy to understand and a lot of people use it to lay their pages out, but you have to remember something else too, once it's removed from the normal document flow, the other elements don't react to any change that you make. So if I took Box 1 and added a bunch of content to it, as it stretches down, the content on the rest of the page of the other elements, they don't react to it. So they won't not react. So using absolute positioning is really good for fixed layouts where the size of one element really isn't going to change a lot, or one element doesn't need to push another element down if you are going to be changing its size. So absolute positioning, remember removes it from normal document flow. The other elements move up to take where it was positioned prior to that, and it has the ability to hover on top of any other element that you want. Now I am going to contrast that with relative positioning. Now relative positioning basically takes the element and it moves it relative from its normal starting position. So absolute positioning actually moves it relative to the parent container. So for in the body tag it moves it relative to the body tag but relative positioning moves an element away from where its normal starting position was. So in our example here again, we have box number 1, we are positioning it using relative positioning and then we are giving a left value of 120 pixels, which is moving it over to the right by 120 pixels. Notice that box number 2 and box number 3 remain unchanged, but they don't move up to take its place, and that's because they still believe that Box 1 is occupying that spot. So if we were to take box number 1 and add more content to it, Boxes 2 and 3 would react to that. So it's still part of normal document flow. So that gives us a little background in absolute and relative positioning. What we are going to do now is we are going to go back into Dreamweaver and we are going to do an exercise where we take certain elements and we use both Absolute and relative positioning on them. Here we are back in Dreamweaver and we have the positioning_ test.htm exercise file opened, and you will find this in the Chapter 3 Exercise Files. Notice that we have three div tags Chapter 2, Chapter 3 and Chapter 4. They are actually div tags and we have an ID of box number 1, box number 2, and of course box number 3, and they all have a different segments of one of my favorite books, Animal Farm, in it. So we will go ahead and we will use positioning to move these elements around and we will first use the box number 1. So I am going to go ahead and write a selector for that. So I will go to my CSS Styles panel, and click on New CSS Rule, and we will just do #box1, and I am going to define it in this document only. So I will go ahead and click OK. Now I am going to click on Positioning, and I am going to change the Type of Positioning to absolute. Now you are going to notice a couple of other types in there, fixed and static. They are not as widely supported by older browsers and they are really used more to fix the positions of something on page, for example, if you wanted your navigation to remain constant as somebody scrolls, you just use fixed positioning. So I am going to choose Absolute, and again if I look at the category below that where it says Placement, there I can choose Top, Bottom, Left, Right, and sort of thing. Now I'll use my Top and Left, and again when you are using absolute positioning, you are moving it in relation to its parent container and it's the parent container that contains a positioning attribute. Now that can sound confusing but what it boils down to is this. If the element is inside of another element, if that element that it's inside of the parent element does not have a positioning attribute, it uses the next highest one that does which eventually is going to become the body tag. If the parent element does have a positioning property, maybe it's positioned with relative positioning, then it uses that element as the 0, 0 point, and we will actually see that as we start getting into the Cheek Chastain inside. So I am going to take the Top value and I am going to move the Top value down by 100 pixels. I will take the Left value and I will move the Left value over by 50 pixels, and I will go ahead and click OK. Now you can see what happened to box number 1, it moved down the page, and it moved over to the right. But notice what happened to Chapter 3 and Chapter 4 below it. Because we removed it from normal document flow, they moved up to occupy that position and Chapter 2 is now overlapping them, and maybe that's what we want, maybe it's not we want. Notice if I highlight this content, and copy it and then paste it, again to extend it, wow! The box itself is expanding. The content underneath it is not reacting in any fashion whatsoever.

So now that we have tested absolute positioning, let's change our selectors, so that we are using relative positioning. I will go back to box number 1 and because I want to see that dialog box and actually see that different categories, I am going to go back up to my CSS Styles, All Rules. I am going to double-click on the Box 1 rule. That will bring this dialog box back up again. So I am going to click on Positioning and I am going to change my type from absolute to relative, and maybe I will change the Positioning too. Maybe I will change the Top position to 50, and maybe I will change my Left position to 300, and click OK. Now it moved down a little bit, and then over, but notice what happened to Chapter 3 and Chapter 4 or more importantly, notice what didn't happen. They really didn't move. They certainly didn't move up to take the place of where Chapter 2 used to be. Now if we try to test again by extending content, highlight the content, copy it, paste it. Notice what has happened to Chapter 3 and Chapter 4. They are now pushing down the page because Chapter 2 who they still see in its original place is expanding. They are going to expand as well. So we are still really working with normal document flow. So relative positioning allows us to sort of nudge elements over the side, up a little bit or over to the left, without really breaking normal document flow or causing re-flow within your document. So our next movie is going to focus on floats, and how floats get into the equation of positioning, but understanding absolute positioning and relative positioning is crucial to tweaking your layout, and making sure the elements are exactly where you want them inside their container elements.

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.