Easy-to-follow video tutorials help you learn software, creative, and business skills.Become a member

Using negative margins

From: CSS Web Site Design

Video: Using negative margins

With the additions of margins, borders and paddings, we've come pretty little far way in terms of making our design look like what the designer wanted. But there are still some things that need to be addressed as an example of the date near the upper right-hand corner, that the designer count for October 26, 2005 is supposed to be on the navlinks bar and not below it as it is right now. The about tea history has a white box that's supposed to extend all the way out to the left side of the design and not line up with the legendary origins of tea and the rest of the content in the content column, and the tea of the today in post archive headings, those are supposed to go all the way out to the edges of their respected boxes, and that's not happening right now either.

Using negative margins

With the additions of margins, borders and paddings, we've come pretty little far way in terms of making our design look like what the designer wanted. But there are still some things that need to be addressed as an example of the date near the upper right-hand corner, that the designer count for October 26, 2005 is supposed to be on the navlinks bar and not below it as it is right now. The about tea history has a white box that's supposed to extend all the way out to the left side of the design and not line up with the legendary origins of tea and the rest of the content in the content column, and the tea of the today in post archive headings, those are supposed to go all the way out to the edges of their respected boxes, and that's not happening right now either.

So we need to fix that. There are a variety of ways we could go about this we can try to take the about tea history heading and move it out of its content column so that it's not pushed over along with the rest of the content column, but that really means rearranging the document structure just to create stylistic effects, and I always try to avoid those if at all possible. Similarly try and get that July 16, 2006 or basically get the date up into that bar. That could be a little tricky.

We can do it let's say with floats but then we'd have to figure out how to get one float to sit over the top of another and that doesn't really work very well and we could try to float it and not have the navlinks be afloat but then we'd have to move the date to be before the navigation links, and we can't restructure hacking. What we can do instead is for these things is use a little trick, a little negative margin trick. We're going to start this, basically I'm going to start this by saying margin top zero because as it stands right now the space between the July 16, 2006 text and the element above it, that's the top margin on that paragraph.

As it turns out it's a 1em top margin. So if I set that to zero, then as you can see here the date snuggles right up against the navlinks, but that's ok, it's closer but it's not what we wanted yet, but if we change this top margin to be negative, so we actually say, let's say, negative 1em then what's going to happen over here is that's just going to keep getting pulled upward. The whole paragraph is actually a paragraph containing this date and it's just being pulled upwards, further and further, thanks to this negative top margin. So we have it into the bar it's not exactly where we want it, but visually we've got it into the bar, structurally, nothing has changed of course, but visually we're getting it very close to where we want.

And now the last thing is just to find the right distance for this to move as it turns out that's about 1.66em, if we hit Reload, there you go. It looks vertically centered in the bar but that's because of that negative top margin. So that's the way to use negative margins, you basically use negative margins to pull things out and pull things over each other. It's a little visual trick, but the nice thing is that we didn't have to go and hack through the document structure and created a two cell table or something like that, just to put one thing next to another.

We didn't have to worry about that at all. Similarly for that h1 in the content, instead of having a right margin of zero we're going to try a right margin of minus 2em, which pulls it on out. Now, digging into the style sheet it turns out that the left margin of the content div is 3em, about tea history is one and a half times the font size of the rest of the content div, so with a negative 2em left margin it gets pulled the same distance as that space. So everything lines up nicely and if you look back, we also had a right and left padding of 2em, which is exactly equal to the distance of the negative margin there, which is why the a in about tea history lines up with the rest of the column.

I didn't mention that when I gave it 2em padding in the last video, but now you know, I was thinking ahead a little bit. So we're going to use a similar approach for the the sidebar headings, the tea of the day and post archive. With these guys I'm just going to say margin, no top and bottom margins, -0.8em and if we hit Reload they spread out very nicely. 0.8em, why that, because the h3s have a font size of 1.25em and 0.8 times 1.25 equals one, and that equals the 1em right and left padding on the divs in the sidebar. Now, having done that as you may have noticed, now the text and tea of the day and post archive is gotten jammed all over the side and we don't want that to happen. So here we'll change the left and right padding on the guys to be exactly equal to the negative left and right margin that we just set and tadaaaa! There they go. We can fit that a little bit should we so choose, but that gives us the result we want so why not run with it.

Now there is one more thing to point out here, which is the body element, the body, the document, whatever you want to call it. There is this quote, unquote gutter space around the entirety of our design here. You can see this most easily around the sides and the top of the masthead where there's just this blank space, it's been stuck in between the edges of the browser window and the design. This is a browser default. Pretty much every browser that exists today has this default. Interesting thing is, that's typically implemented as a style on the body element, and almost every browser in the world does it as a margin, but there's an argument to be made and some browsers accept this argument, that that's actually padding on the body. Frankly, I think that that's correct.

That really is body padding, a body margin, but that's not what other browsers have done, it's not what most browsers have done, so the way that we get rid of that in as cross browser and the safest way possible is to say body, margin zero, padding zero, and having done that, if we go back and reload, see everything moves out, there's no separation now between the design and the rest and the edges of the browser window, and we have things looking pretty darn much like they appeared in the designers comp.

So that's the fun that you can have with negative margins and zeroing out certain margins. In the last video we're going to talk about margin collapsing, which is a little bit of a technical issue, but it's, it's important to understand, so that you can understand why certain things happen in web browsers.

Show transcript

This video is part of

Image for CSS Web Site Design
CSS Web Site Design

73 video lessons · 60915 viewers

Eric Meyer
Author

 
Expand all | Collapse all
  1. 14m 34s
    1. Welcome
      28s
    2. What is CSS?
      5m 34s
    3. Design tour
      2m 38s
    4. Using the exercise files
      1m 20s
    5. Installing the Web Developer toolbar
      4m 34s
  2. 25m 56s
    1. XHTML essentials
      3m 55s
    2. CSS essentials
      5m 17s
    3. Embedded style sheets
      2m 20s
    4. Linking a style sheet
      2m 19s
    5. Linking to multiple style sheets
      2m 20s
    6. Using linked and embedded style sheets together
      4m 21s
    7. Using imported style sheets
      5m 24s
  3. 57m 48s
    1. ID selector essentials
      6m 38s
    2. Class selector essentials
      4m 9s
    3. Best practices for classes
      4m 52s
    4. Grouped selection
      4m 2s
    5. Descendant selectors
      6m 44s
    6. The sources of style
      6m 38s
    7. Specificity
      8m 21s
    8. Making things important
      4m 32s
    9. Inheritance essentials
      5m 12s
    10. Making things really unstyled
      4m 2s
    11. User style sheets
      2m 38s
  4. 39m 3s
    1. Box model essentials
      7m 35s
    2. Simple floating
      5m 3s
    3. Using float for layout
      5m 5s
    4. Fixing column drop
      5m 35s
    5. Clearing essentials
      4m 20s
    6. Float containment
      6m 35s
    7. Creating a navbar from a list
      4m 50s
  5. 38m 3s
    1. Coloring text
      4m 13s
    2. Defining color in CSS
      8m 12s
    3. Coloring backgrounds
      6m 35s
    4. Applying background images
      4m 19s
    5. Manipulating the direction of background images
      2m 52s
    6. Positioning backgrounds
      7m 23s
    7. Background shorthand
      4m 29s
  6. 58m 28s
    1. Altering line height
      7m 32s
    2. Font style and weight
      5m 45s
    3. Sizing fonts
      9m 59s
    4. Using font families
      10m 38s
    5. Font shorthand
      6m 5s
    6. Justifying text
      4m 56s
    7. Vertically aligning text
      4m 22s
    8. Transforming text
      3m 49s
    9. Text decoration
      5m 22s
  7. 44m 40s
    1. Margin essentials
      14m 21s
    2. Adding borders
      6m 52s
    3. Padding
      9m 17s
    4. Using negative margins
      7m 19s
    5. Margin collapsing
      6m 51s
  8. 20m 38s
    1. Styling tables and captions
      5m 23s
    2. Styling table cells
      6m 30s
    3. Styling a column with classes
      4m 51s
    4. Styling links inside table cells
      3m 54s
  9. 30m 40s
    1. Styling for specific mediums
      4m 3s
    2. Creating a print style sheet
      6m 35s
    3. Hiding layout for print
      4m 11s
    4. Styling for print
      6m 34s
    5. Complex styling for print
      4m 37s
    6. Creating a footer
      4m 40s
  10. 37m 23s
    1. Getting started
      1m 11s
    2. Setting global styles
      4m 4s
    3. Defining masthead and navbar colors
      3m 27s
    4. Layout of the navlink bar
      3m 38s
    5. Using columns
      4m 49s
    6. Setting content styles
      1m 53s
    7. Creating the sidebar boxes
      5m 42s
    8. Creating the sidebar form
      3m 23s
    9. Completing the sidebar
      3m 29s
    10. Making a table
      3m 12s
    11. Creating a footer
      2m 35s
  11. 1m 28s
    1. Goodbye
      1m 28s

Start learning today

Get unlimited access to all courses for just $25/month.

Become a member
Sometimes @lynda teaches me how to use a program and sometimes Lynda.com changes my life forever. @JosefShutter
@lynda lynda.com is an absolute life saver when it comes to learning todays software. Definitely recommend it! #higherlearning @Michael_Caraway
@lynda The best thing online! Your database of courses is great! To the mark and very helpful. Thanks! @ru22more
Got to create something yesterday I never thought I could do. #thanks @lynda @Ngventurella
I really do love @lynda as a learning platform. Never stop learning and developing, it’s probably our greatest gift as a species! @soundslikedavid
@lynda just subscribed to lynda.com all I can say its brilliant join now trust me @ButchSamurai
@lynda is an awesome resource. The membership is priceless if you take advantage of it. @diabetic_techie
One of the best decision I made this year. Buy a 1yr subscription to @lynda @cybercaptive
guys lynda.com (@lynda) is the best. So far I’ve learned Java, principles of OO programming, and now learning about MS project @lucasmitchell
Signed back up to @lynda dot com. I’ve missed it!! Proper geeking out right now! #timetolearn #geek @JayGodbold
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.


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 "Already a member? Log in

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 CSS Web Site Design.

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

Your file was successfully uploaded.

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.