Creating ‘Web 2.0′ Layouts using strips

November 13, 2008 | Published in: Web design & development | Tags: , , , , 9

Creating Layouts using strips

I’ve seen the ‘web 2.0′ layout (full width background, centred content) done in some pretty wacky and different ways, the worst being a background image and then fixed height sections laid on top (if the content wraps or the text is resized…bam..broken layout).

Because of this I am going to demonstrate the method I use – content strips. Hopefully this will be useful to CSS beginners who want to code this type of layout.

Essentially, what you do is treat each section, or ’strip’, separately and layer them like a cake.

Lets take a commonly used design and demonstrate what I mean.

In the above design as you can see we have a header, a content (with two sub sections), and a footer. The footer and header require a full width background. So, horizontally we can see 3 strips – header, content, footer.

1
2
3
4
5
6
<div id="header"><p>Header</p></div>
<div id="content">
    <div class="mainContent"><p>Main Content</p></div>
    <div class="subContent"><p>Sub Content</p></div>
</div>
<div id="footer"><p>Footer</p></div>

Using CSS we can style each strip, leaving them all as full width elements. Header and footer should get a tiled background image each, and the text should be aligned center (text-align:center;).


The content itself should be centred and is common in all strips – lets say 700px wide in each section. To keep the content this wide we create a .inner class in the css stylesheet:

1
2
3
4
5
6
.inner {
    width:700px;     /* Limits its width */
    margin:0 auto;   /* Makes this inner div centered */
    text-align:left;    /* Parent strips have center aligned text */
    overflow:hidden; /* To clear floats */
}

Our HTML now looks like this:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<div id="header">
    <div class="inner">
        <p>Header</p>
    </div>
</div>
<div id="content">
    <div class="inner">
        <div class="mainContent"><p>Main Content</p></div>
        <div class="subContent"><p>Sub Content</p></div>
    </div>
</div>
<div id="footer">
    <div class="inner">
        <p>Footer</p>
    </div>
</div>

See how it works? Each strip can have its own background this way, and can shrink and grow to fit it’s content without breaking the layout.

As I said before, this is my preferred method of coding these kind of layouts and it has not failed me yet. I hope you found this useful.

Found this post useful? Why not buy me a coffee!

Related Entries

9 Responses to “Creating ‘Web 2.0′ Layouts using strips”

RSS feed for comments on this post.

  1. Ryan Kelly says:

    Well, you could always take the ‘inner’ DIVs out and instead set the width of the header and footer paragraphs, then set the content DIV to the width you need (assuming that in your diagram the content section does not need a background or can use the body background).

    I can’t think, off the top of my head, of any rendering issues this could cause.

    ReplyReply

    Comment made on November 16, 2008 at 2:41 am

  2. Mike Jolley says:

    With that shown on the diagram, yes your correct; you could set the width of the paragraphs. But as soon as you get more advanced content the inner divs really help matters.

    This site for instance has many strips because of all of the background images; I think I have 4 (header, nav, content, footer).

    ReplyReply

    Comment made on November 16, 2008 at 12:37 pm

  3. 2.0 myspace layouts mediation says:

    This+is+what+i+was+searhcing+for+so+many+months.

    ReplyReply

    Comment made on February 26, 2009 at 9:48 pm

  4. Asif Shabbir says:

    Their is good habit to use Div instead of using tables. Also it is easy to understand code. Thanks for posting it.

    ReplyReply

    Comment made on May 7, 2009 at 12:00 pm

  5. Ashfame says:

    Thanks for the article! I have tried such a layout earlier but didn’t end well. Now I know how to proceed. :)

    ReplyReply

    Comment made on June 7, 2009 at 5:46 pm

  6. Richard Sheppard says:

    I think I’ve used some of the wacky ways you mentioned. Was never happy with them – this is so simple, clear and effective. Thanks!

    ReplyReply

    Comment made on July 29, 2009 at 8:14 pm

  7. abhijeet says:

    does it work with wordpress????????

    ReplyReply

    Comment made on October 29, 2009 at 7:47 am

  8. Dorset Web Design Company says:

    Nice, simple and well put. A lot of people really over complicate their css and html. You just need to think simply – although it takes the benefit of experience before this “clicks”. It took me a few years of coding before I realised I was putting way too many divs and slices in.

    Can you make a few more simple cutups like for 3 column, 2 column etc for your readers that might be useful

    ReplyReply

    Comment made on November 5, 2009 at 11:58 am

  9. Mostyn Web Solutions says:

    Thanks for the article, nice approach.

    Slightly random question but is it an issue that this approach will cause multiple http requests for the different background images? Is there any way css slicing could be used for this approach? ie downloading 1 image and specifying what parts of that image are going to be used for each background?

    ReplyReply

    Comment made on January 11, 2010 at 10:50 pm

Leave a Reply

Why ask?

About this site

Blue Anvil is the online web design journal & portfolio of , a web designer from Norfolk, England. Read More »
ThemeSlice
  • Featured work - More

    • Beefjack
    • Integrity
    • theotaku.com
  • Latest Tweet - More

    • Out of the blue - More

      • Switched: From Shared to VPS

        It’s been about two weeks now since I made the transition from a shared reseller hosting account to a VPS (Virtual Private Server) account – impressions so far, excellent performance but fiddly to configure.

        The reason I wanted to change from shared hosting was the fact the server was always being hacked (even though ALL my scripts were secure), there was frequent downtime, support blamed me for problems every time, and it was slow as hell.

        Those used to a shared hosting environment would probably not know where to start when faced with configuring a VPS. Luckily, a lot of it was pre-configured when I received my account – certainly some of the major security holes were patched. I was not satisfied with those however. As a victim of hacking in the past (previous host swears it was not there fault, something I don’t believe) I took extra care to secure it as a much I could – configuring brute force detection, the firewall, installing mod security (excellent rules for that here: http://www.atomicorp.com/wiki/index.php/Atomic_ModSecurity_Rules) and going though multiple guides (like this one: http://www.webhostingtalk.com/showthread.php?t=468168) with a fine-tooth comb.

        The result? My pages are loading at least 6 times faster, I have had no down time (or at least have not noticed any), and I feel in control and happy. No longer am I at the mercy of shared hosts :)

        If your interested, I chose ServInt as my provider as they offered a great deal, as well as being a managed service (so I’m not on my own if I screw things up). I was tempted by the bells and whistles of Media Temple, but felt the ServInt service was better value.

      • Download Monitor 3.2.2 Maintenance Release

        Download Monitor has received some more love and has been updated. Here’s the change log from the new version:

        • Small bugfix in uploader.php – cat ID
        • Changed stats graph calculation – thanks lggemini
        • Changes to headers in download.php to avoid caching
        • File Browser fixes – $root was clashing with something….
        • exclude_cat works in all sections of download_page now
        • Removed hardcoding of /uploads/
        • Added action to download.php – should be able to use it to stop a download if you want – maybe limiting downloads per day or something? Whatever you want…
        • Made it so if you post new file on ‘edit’ screen, the post date is updated.
        • Fixed the ‘blank meta’ section which blanks out custom field values when nothing is set.
        • Moved ‘allow_url_fopen’ check.
        • Someone said downloads don’t work with spaces in the name. They do! Wasting my time sonny…
        • All work and no play make jolley a dull boy
        • Had to rename capabilities so they work. Apologies if you have to set this up again! Cheers to Mark Dingemanse.
        • {category_ID} custom format tag added. Useful if you want to send someone to its category on the DL page I guess. Also added {category_other} so when no category is set “other” is shown – this is because the download page can show an ‘other’ section if you want it to.
        • You can now manually edit the post date on the edit download screen.

        If you have edited capabilities for download monitor user permissions, you’ll have to again sorry! This is because I named them too long. Also, you should check your forced downloads still work because there was a logic error meaning they may not have been forced after-all…

        Enjoy.

      • Mahousive update to Download Monitor (3.2)

        Today I completed the update for the Wordpress Download Monitor Plugin – many tweaks, fixes, and features added. There were no changes to the database structure so people upgrading should be fine. Here is the list from the change log:

        • {user} tag added for custom formats
        • ‘autop’ option fix
        • Download page buttons applied with CSS so they are easier to customise/translate.
        • Fix for pagination bug after editing a download
        • Category output fix on edit downloads screen
        • Category urls on download page use ID rather than name to prevent errors when cats have the same names.
        • exclude_cat added to download_page shortcode
        • Localised ‘hits’ ‘date’ ‘title’ on download page
        • Option to disable the download logging
        • Read file ‘chunked’ some people found large files were corrupted so this should help (fingers crossed)
        • Added show_tags option to download page – displays x amount of tags on the download page.
        • File Browser root setting and download.php logic/mime types modified thanks to Jim Isaacs (jidd.jimisaacs.com)
        • Interface Improvements
        • Bulk edit categories, custom fields, tags, member only downloads
        • Added roles for download monitor admin – should be able to use with a role manager plugin if you want anyone other than admin to access the admin section e.g. http://wordpress.org/extend/plugins/capsman/
        • Change redirect after add
        • Edit Cat names/parents
        • Dedicated tags and thumbnails fields (they still use meta table though)

        And yes, those category link bugs are fixed at long last, and you can edit category names finally. Phew!

      • Wordpress Spam Stopper Plugin Updated

        Spam stopper has been updated to v3.1 – and most of it has been recoded. Here’s the full list of changes:

        • Added changelog to readme.
        • Email validation bug squashed
        • Cached comments now work; if user forgets to fill in antispam or makes a mistake (and the JS does not catch it) the users comment will not be lost.
        • Redone entire code to make it more efficient
        • Admin section added for changing the antispam question
        • Form ID and honeypot trap added to form
        • Fully localized

        You can get the plugin from wordpress.org: http://wordpress.org/extend/plugins/spam-stopper/

        For support, please keep my comments clean and post on either the wordpress forums or my forum.

        To help support spam-stopper you can make a donation (buy me a coffee, or several) or rate it on wordpress.org. Thanks!