Building a Responsive Layout With Skeleton: Widescreen
videos

Building a Responsive Layout With Skeleton: Widescreen

Tutorial Details
  • Topic: Responsive Web Design
  • Difficulty: Intermediate
  • Screencast duration: 28 mins
This entry is part 6 of 8 in the series Building a Responsive Layout With Skeleton

It’s time to pick up our Skeleton layout once more, this time to approach layouts larger than the standard 960px width. Skeleton throws a few curve balls our way when it comes to extending the framework – let’s take a look at those difficulties and see what we can do to get around them.


Widescreen

Alternatively, Download the video, or subscribe to Webdesigntuts+ screencasts via iTunes or YouTube!


Extending Skeleton

During my experiments I came up with a couple of things. If you’re interested, here are the recalculated columns for a 1280px container:

/* #Additional - Large Screens beyond 1280px
================================================== */
    /* Note: Design for a width of 1280px */
    @media only screen and (min-width: 1280px) {
        .container                                  { width: 1280px; }
        .container .column,
        .container .columns                         { margin-left: 10px; margin-right: 10px;  }
        .column.alpha, .columns.alpha               { margin-left: 0; margin-right: 10px; }
        .column.omega, .columns.omega               { margin-right: 0; margin-left: 10px; }
        .alpha.omega                                { margin-left: 0; margin-right: 0; }
        .container .one.column,
        .container .one.columns                     { width: 60px; }
        .container .two.columns                     { width: 140px; }
        .container .three.columns                   { width: 220px; }
        .container .four.columns                    { width: 300px; }
        .container .five.columns                    { width: 380px; }
        .container .six.columns                     { width: 460px; }
        .container .seven.columns                   { width: 540px; }
        .container .eight.columns                   { width: 620px; }
        .container .nine.columns                    { width: 700px; }
        .container .ten.columns                     { width: 780px; }
        .container .eleven.columns                  { width: 860px; }
        .container .twelve.columns                  { width: 940px; }
        .container .thirteen.columns                { width: 1020px; }
        .container .fourteen.columns                { width: 1100px; }
        .container .fifteen.columns                 { width: 1180px; }
        .container .sixteen.columns                 { width: 1260px; }
        .container .one-third.column                { width: 406px; }
        .container .two-thirds.column               { width: 822px; }
        /* Offsets */
        .container .offset-by-one                   { padding-left: 80px; }
        .container .offset-by-two                   { padding-left: 160px; }
        .container .offset-by-three                 { padding-left: 240px; }
        .container .offset-by-four                  { padding-left: 320px; }
        .container .offset-by-five                  { padding-left: 400px; }
        .container .offset-by-six                   { padding-left: 480px; }
        .container .offset-by-seven                 { padding-left: 560px; }
        .container .offset-by-eight                 { padding-left: 640px; }
        .container .offset-by-nine                  { padding-left: 720px; }
        .container .offset-by-ten                   { padding-left: 800px; }
        .container .offset-by-eleven                { padding-left: 880px; }
        .container .offset-by-twelve                { padding-left: 960px; }
        .container .offset-by-thirteen              { padding-left: 1040px; }
        .container .offset-by-fourteen              { padding-left: 1120px; }
        .container .offset-by-fifteen               { padding-left: 1200px; }
    }

Also, here are the column widths recalculated as percentages. That’s right, a fluid Skeleton! Be aware that nesting columns will not work in this case..

/* #Additional - Flexible Column Widths
================================================== */
        .container                                  { width: 90%; } /*whatever you want - can even be fixed if you prefer*/
        .container .column,
        .container .columns                         { margin-left: 0.78125%; margin-right: 0.78125%;  }
        .container .one.column,
        .container .one.columns                     { width: 4.6875%; }
        .container .two.columns                     { width: 10.9375%; }
        .container .three.columns                   { width: 17.1875%; }
        .container .four.columns                    { width: 23.4375%; }
        .container .five.columns                    { width: 29.6875%; }
        .container .six.columns                     { width: 35.9375%; }
        .container .seven.columns                   { width: 42.1875%; }
        .container .eight.columns                   { width: 48.4375%; }
        .container .nine.columns                    { width: 54.6875%; }
        .container .ten.columns                     { width: 60.9375%; }
        .container .eleven.columns                  { width: 67.1875%; }
        .container .twelve.columns                  { width: 73.4375%; }
        .container .thirteen.columns                { width: 79.6875%; }
        .container .fourteen.columns                { width: 85.9375%; }
        .container .fifteen.columns                 { width: 92.1875%; }
        .container .sixteen.columns                 { width: 98.4375%; }
        .container .one-third.column                { width: 31.7708%; }
        .container .two-thirds.column               { width: 65.1041%; }
        /* Offsets */
        .container .offset-by-one                   { padding-left: 6.25%; }
        .container .offset-by-two                   { padding-left: 12.5%; }
        .container .offset-by-three                 { padding-left: 18.75%; }
        .container .offset-by-four                  { padding-left: 25%; }
        .container .offset-by-five                  { padding-left: 31.25%; }
        .container .offset-by-six                   { padding-left: 37.5%; }
        .container .offset-by-seven                 { padding-left: 43.75%; }
        .container .offset-by-eight                 { padding-left: 50%; }
        .container .offset-by-nine                  { padding-left: 56.25%; }
        .container .offset-by-ten                   { padding-left: 62.5%; }
        .container .offset-by-eleven                { padding-left: 68.75%; }
        .container .offset-by-twelve                { padding-left: 75%; }
        .container .offset-by-thirteen              { padding-left: 81.25%; }
        .container .offset-by-fourteen              { padding-left: 87.5%; }
        .container .offset-by-fifteen               { padding-left: 93.75%; }

Additional Resources

Some useful links to further build on what’s been covered in this video.

Series Navigation<< Building a Responsive Layout With Skeleton: Finishing OffSkeleton to WordPress: Getting up and Running >>

Note: Want to add some source code? Type <pre><code> before it and </code></pre> after it. Find out more
  • dJ

    Hallelujah… thanks Ian. I amazes me that anyone who bases a design off of anything 960 can have the temerity to call it “responsive.” I especially appreciate all the math that you’ve done for us.

    • http://www.snaptin.com Ian Yates
      Author

      You’re welcome :) Actually, the % are really handy if you don’t mind ditching nested columns. You can swap out all the skeleton grid rules and make the whole thing fluid. Thanks for your feedback on this series!

  • tenzin

    the widescreen layout looks ugly. i don’t know why

  • supporf

    thank you very mutch
    very intersting

  • Hamid

    i dunno if it’s spam or not to thanking you everytime Ian Yates but can not say anything except that, was waiting for the next series of this tuts too like bootstrap tuts video:-)

    pls Ian Yaters do more completing website series than before. your tuts are greatly good for a beginner webdesigner. and btw who siad your voice is Banging?:P

  • http://bowesales.com Jesse

    Ian, amazing screencast. I love your patience and your workflow.

    I’m definitely going to explore the widescreen media queries a bit further, especially after reading Ethan Marcotte’s book on “Responsive Web Design.” I think your 960 grid still looks good on a widescreen desktop browser but your 1280 grid looks much better on a widescreen television browser.

    All the best to you!

    Thanks again.

  • Pingback: Building a Responsive Layout With Skeleton: Widescreen | Webdesigntuts+ » Web Design

  • Santosh

    Yates, I am really excited with your article. What a wonderful work. I am waiting for the next article to continue reading of this.

  • James

    .container .one-third.column { width: 426px; }

    This isn’t right. Seems to be too wide. Should be around 406px, but even then, it doesn’t divide evenly with a 1260px width(including margins).

    • http://www.snaptin.com Ian Yates
      Author

      Hi James – you’re dead right, I’d rushed through the thirds values in both cases and forgotten about the margins :/

      406px is right (on the safe side) and likewise for the percentage values you should have 31.7708% instead of 33.3333%

      Good spot!

  • http://www.creare-webdesign.co.uk/ Adam Booth

    Thanks for the great post.
    This is a subject I an extremely interested in. There are currently so many various screen sizes and browsers and it is even more important that websites are able to adapt to this and appear perfect, no matter the screen size and resolution. This is something I have been researching and working on. This seems to be a simple to understand tutorial. Thanks for the source files, this will prove to be a great reference point.

  • http://www.rohitmehta.me Rohit Mehta

    Hey Ian,

    Whats the Chrome Plugin you are using for auto-refresh on file save?

    • http://www.snaptin.com Ian Yates
      Author

      Hey Rohit – that’s LiveReload 2 for OSX. Big time saver :)

  • Pingback: The Psychology of Content Design | Webdesigntuts+

  • Pingback: The Psychology of Content Design |

  • Pingback: My Stream | The Psychology of Content Design | My Stream

  • Pingback: The Psychology of Content Design | Shadowtek Hosting and Design Solutions

  • http://eddiepotros.com e11world

    Great tutorial and the video is very very good. I enjoyed it and learned some new things. Also from the comments. Well done and thank you very much!

  • Selwyn Orren

    Hi Ian,

    Really great series of articles, I used your video’s and have built two complete sites using Skeleton and your genius. I used your fluid grid above in the standard index.html file supplied with skeleton, and the one-third column does not seem to work.

    I have made some changed to the above code, that renders the entire fluid system all the way down to mobile screens. I would love to share this with you, just not sure how to get it to you.

    Again thanks for a brilliant set of tutorials.

    • http://www.snaptin.com Ian Yates
      Author

      I’d love to see it! Feel free to place it (zipped up) online somewhere; GitHub, CloudApp, Amazon S3, DropBox, then share the link here. You could also send it directly via the content submission form we use :)

  • Pingback: The Psychology of Content Design | How to Web

  • Hoop

    I’ve noticed that in IE7 & 8 the navigation does not work correctly. it doesn’t get any wider than the parent title. Plus the hover event does not work for any of the items except the first one in the list. Any ideas how I can correct this?

    • http://www.snaptin.com Ian Yates
      Author

      That’s right Hoop – the menu items width was a problem I hadn’t spotted at the time. I’ve since updated the Navigation section of the tutorial – feel free to check out the additional snippets after the videos.

      Precisely why the first one in the list stays highlighted in IE7 I’ve no idea.. suggestions welcome!

  • Sabrina

    Hi,

    I copied the code for the 1280 grid. But the four columns doesnt seem to fit…. it is to wide, it should be 299px instead of 300.

    for the rest it is great :) thank a lot!!!

    Sabrina

    • http://www.snaptin.com Ian Yates
      Author

      Mmmmm nope (?)

      300px + 10px (left margin) + 10px (right margin) = 320px
      320px * 4 (columns) = 1280px

      There shouldn’t be any problem with that, or any of the other calculations!

  • Pingback: La Psicología del Diseño de Contenido « Diseñador Gráfico

  • http://www.robertbrodziak.com Robert Brodziak

    Mr. Ian, You are a genius. Best series ever, ton of knowledge packed into those screencast.

  • Patrick

    Thanks very much for a fantastic screen cast series. This really is the best way I’ve come across to get my head around adaptive / responsive designs and media queries in general. Thanks a lot Ian, I’ll definitely be subscribing to your posts.

  • http://adamjohnsondesign.com Adam

    For the interested parties, I’ve made a mobile first version of the Skeleton Grid:

    https://github.com/adamjohnson/Skeleton

    It’s got some Normalize.css & HTML5 Boilerplate goodness packed in there as well. Widescreen is built in. Enjoy.

  • Pingback: Responsive Pricing Tables Using :target for Small Screens | Webdesigntuts+

  • Pingback: My Stream | Responsive Pricing Tables Using :target for Small Screens | My Stream

  • Pingback: Responsive Pricing Tables Using :target for Small Screens « Web Design

  • Pingback: Responsive Pricing Tables Using :target for Small Screens « Mary Brija

  • Pingback: Responsive Pricing Tables Using :target for Small Screens « glindemulder

  • http://twitter.com/herrkoehler Matthias Köhler

    hi and thank you for this series of videos, i enjoyed and learned really much from them. I’ve tried your recalculated columns for a 1280px container and it breaks the layout on all my sites built on top of the skeleton-framework. no matter what i do (clear cache, try different browsers and pcs, etc.) i just cannot get it to work… :(

    edit: i’ve found out why it wouldn’t work. i use a version of skeleton that is based on 12 columns and a 1200px screen, so… nevermind :D

  • Blaze

    Hi Ian, great tutorial! I just wondered, shouldn’t the value for the two-thirds column for 1280 be closer to 833? E.g.: 1280/3*2 = 853.333 – 10(left/right margins)*2 = 833.33? Or did I miss something?

  • Anthony

    Thanks! Literally just dropping in your percentage based code turned my responsive website into an awesome fluid, responsive site!!!