Layout
Jump to navigation
Jump to search
Basics
- Responsive Web Design - A List Apart, MAY 25, 2010
- Responsive Web Design: Layouts and Media Queries - difference between basic fluid, adaptive and responsive layout, April 23rd, 2012
- This Is Responsive. - Patterns, resources and news for creating responsive web experiences.
- Mobile First - Luke Wroblewski, Nov 3 2009
- How to make your CSS *really* mobile-friendly - 12.10.2010
- “The absence of support for @media queries is in fact the first @media query”
- Optimizing content for different browsers: the RIGHT way - w3c wiki
- CSS Media Query for Mobile is Fool’s Gold - August 3, 2010
- Responsive News - Where BBC News developers blog about responsive design.
- http://adactio.com/journal/4494/
- http://www.html5rocks.com/en/mobile/responsivedesign/
- http://www.slideshare.net/bryanrieger/rethinking-the-mobile-web-by-yiibu
to review;
- Effective Design for Multiple Screen Sizes - effective design strategies to target a diverse range of mobile devices and screen sizes. to review
- Design Process in the Responsive Age - A UX perspective
- Supporting high-dpi pixel-dense "Retina" Displays like iPhones or the iPad 3 with CSS or IMG
- A non-responsive approach to building cross-device webapps
- http://www.google.com/think/multiscreen/whitepaper-sitedesign.html
- https://news.ycombinator.com/item?id=8723024
Examples
- Multi-Device Layout Patterns
- Media Queries - Many great examples
- http://liquidapsive.com/ - adaptive, liquid, responsive, static
Templates
Viewport
- Safari Developer Library: Configuring the Viewport
- MDN: Using the viewport meta tag to control layout on mobile browsers
- tuts+: Quick Tip: Don’t Forget the Viewport Meta Tag
- device-width and how not to hate your users - January 24, 2011
Device sizes
- http://screensiz.es/
- http://phone-size.com/
- http://i-skool.co.uk/mobile-development/web-design-for-mobiles-and-tablets-viewport-sizes/
Media Types and Queries
- CSS 2: Media types
- Recognized media types
- e.g., all, screen, print, projection, etc.
- https://developer.mozilla.org/en/CSS/@media
- Recognized media types
- CSS 3: Media Queries - W3C Recommendation 19 June 2012
- MDN: CSS media queries
Examples
@media <media type (expressions)> { /* media-specific rules */ } @media screen and (min-width: 500px) and (max-width: 800px) { ... }
or
<link rel="stylesheet" media="<media type (expressions)>" href="specific.css" />
Firefox needs spaces before and after "and"
newer
<link rel="stylesheet" type="text/css" href="style.css" media="screen, handheld" /> <link rel="stylesheet" type="text/css" href="enhanced.css" media="screen and (min-width: 40.5em)" />
Poly, etc.
- Respond.js - A fast & lightweight polyfill for min/max-width CSS3 Media Queries (for IE 6-8, and more)
- device.js - a starting point for doing semantic, media query-based device detection without needing special server-side configuration, saving the time and effort required to do user agent string parsing.
Articles
- CSS3 Media Queries - web designer wall , Aug 18, 2010
- CSS Media Queries & Using Available Space - css tricks, Jul 6 2010
- How To Use CSS3 Media Queries To Create a Mobile Version of Your Website - July 19th, 2010
- The EMs have it: Proportional Media Queries FTW! - March 28, 2012
- CSS3 Animated Media Queries - April 2012
320 and Up
- 320 and Up - The ‘tiny screen first’ responsive boilerplate
@media only screen and (min-width: 480px) { /* 480 =================================================== */ } @media only screen and (min-width: 600px) { /* 600 =================================================== */ } @media only screen and (min-width: 768px) { /* 768 =================================================== */ } @media only screen and (min-width: 992px) { /* 992 =================================================== */ } @media only screen and (min-width: 1382px) { /* 1382 =================================================== */ body { max-width: 1440px; } }
Need to confirm 320andup Sass to multifile so mobile doesn't get desktop sized styles.
Other
- http://www.stuffandnonsense.co.uk/blog/about/hardboiled_css3_media_queries/ - deprecated method
- http://internet-alacarte.com/media-queries-template-for-browser-window-adjustments/ - basic example
/* Flexible iFrame */ .Flexible-container { position: relative; padding-bottom: 56.25%; padding-top: 30px; height: 0; overflow: hidden; } .Flexible-container iframe, .Flexible-container object, .Flexible-container embed { position: absolute; top: 0; left: 0; width: 100%; height: 100%; }
<!-- Responsive iFrame --> <div class="Flexible-container"> <iframe width="425" height="350" frameborder="0" scrolling="no" marginheight="0" marginwidth="0" src="https://maps.google.ch/maps?f=q&source=s_q&hl=de&geocode=&q=Bern&aq=&sll=46.813187,8.22421&sspn=3.379772,8.453979&ie=UTF8&hq=&hnear=Bern&t=m&z=12&ll=46.947922,7.444608&output=embed&iwloc=near"></iframe> </div>
Rearranging elements
- http://www.jtudsbury.com/thoughts/rearrange-div-order.php
- http://stackoverflow.com/questions/12933356/change-div-order-on-responsive-design
text formatting;
@media (max-width: 480px) { .your-particular-selector br { display: none; } }
text-content; responsive text
- responsive navigation patterns - Feb 24 2012
- Responsive Multi Level Navigation - June 19, 2012
select menu;
- TinyNav.js is a tiny jQuery plugin (362 bytes minified and gzipped) that converts ul and ol navigations to a select dropdowns for small screen. It also automatically selects the current page and adds selected="selected" for that item. This isn't the first plugin to do this and it doesn't provide a lot of options, but it might be the smallest (file size).
- http://css-tricks.com/blog/convert-menu-to-dropdown/
Images
- http://css-tricks.com/on-responsive-images/
- http://www.brucelawson.co.uk/2012/html5-urgently-needs-adaptive-images-mechanism/
- http://adaptive-images.com/
- Imager.js is an alternative solution to the issue of how to handle responsive image loading, created at the BBC [2]
- PhotoSwipe - JavaScript gallery, no dependencies.
scrset
Tables
- http://blog.easy-designs.net/archives/responsive-tables/
- http://responsivenews.co.uk/post/52382349921/tables
JavaScript
See also JS_scripts#Responsive
Shim
- css3-mediaqueries.js by Wouter van der Graaf is a JavaScript library to make IE 5+, Firefox 1+ and Safari 2 transparently parse, test and apply CSS3 Media Queries. Firefox 3.5+, Opera 7+, Safari 3+ and Chrome already offer native support.
Performance
Video
- https://github.com/jeffehobbs/embedresponsively - Embed Responsively helps web content producers transform fixed width embedded content into fluid responsive embeds.
- http://drupal.org/project/fitvids - js lib
Tools
Responsive testing
- Simple responsive design test page - html file and bookmarklet iframe based viewport size simulation
- Responsi - draggable
- Viewport Resizer - v. good
- ish. is yet another viewport resizer.
Mobile testing
Other
- http://responsiveurl.co.uk/while/were/making/every/damn/thing/responsive/lets/not/forget/the/url/ - lolol
PhoneGap
Ionic
Scale
Grid basics
- The Grid System
- Design By Grid is a resource to promote websites designed with grids, and the tools and techniques used to make websites with grids.
- Designing With Grid-Based Approach - Smashing Magazine, April 14th 2007
- Applying Divine Proportion To Your Web Designs - May 29th, 2008
- The Secret Law of Page Harmony - 13th of July, 2010
- Wikipedia: Canons of page construction
- Designing Faster with a Baseline Grid - March 9, 2011
- http://richardwalshlabs.blogspot.co.uk/2012/05/grid-layouts-in-modern-web-design.html
- http://coding.smashingmagazine.com/2009/06/02/fixed-vs-fluid-vs-elastic-layout-whats-the-right-one-for-you/
Layout sizings
Quick resolution to grid width and layout list, wip;
- 240 x 320 (mobile)
- 3 60px columns, 20px gutter (960)
- 320 x 480 (mobile)
- 4 60px columns, 20px gutter (960)
- 480 x 640 (small tablet)
- 6 60px columns, 20px gutter (960)
- 768 x 1024 (tablet - portrait)
- 1024 x 768 (tablet - landscape)
- 960s has no far-left/right gutter, but there is space here
- 12 60px column, 20px gutter
- 16 40px column, 20px gutter
- 972 width
- 12 54px column, 30px gutter
- 960s has no far-left/right gutter, but there is space here
- 1200 x 800 (desktop)
Sizes from the Responsive Design Testing bookmarklet. See also http://978.gs/browsers/
Ratios
- 2:3:4:6 (inner:top:outer:bottom)
- (more generally 1:R:2:2R for page proportion 1:R[7])
- division of the page into ninths
- 12
- 6, 4, 3, 2
- 16
- 8, 6, 4, 3, 2
- 24
- 12, 8, 6, 4, 3, 2
- 720
- 840
- 960x1, 480x2, 320x3, 240x4, 192x5, 160x6, 120x8, 96x10, 80x12, 64x15, 60x16, 48x20, 40x24, and 32x30.
- 972x1, 486x2, 324x3, 243x4, 162x6, 108x9, 81x12, 54x18, 36x27
- 978x1, 489x2, 326x3, 163x6
- 990x1, 495x2, 330x3, 198x5, 165x6, 110x9, 99x10, 90x11, 66x15, 55x18, 45x22, 33x30
- 996x1, 498x2, 332x3, 166x6, 83x12
- 1008 - just under 1024*768 browser viewport
- 1008x1, 504x2, 336x3, 252x4, 168x6, 144x7, 126x8, 112x9, 84x12, 72x14, 63x16, 56x18, 48x21, 42x24, 36x28
- 1200x1, 600x2, 400x3, 300x4, 240x5, 200x6, 150x8, 120x10, 100x12, 80x15, 75x16, 60x20, 50x24, 48x25 and 40x30.
- 1260!
- 1440
The above doesn't take gutters into effect..
Read more: http://wiki.answers.com/Q/What_are_the_factor_pairs_of_1200#ixzz21c9XWM5A
Grid frameworks
CSS
960.gs
- 960.gs
- Demo
- 12 60px column, 20px gutter
- 16 40px column, 20px gutter
- no far-left/right gutter
- Using the 960 Grid System as a Design Framework - Feb 10th 2011
- Demo
golden ratio vertical rhythm;
- Skeleton - "A Beautiful Boilerplate for Responsive, Mobile-Friendly Development"
fluid960gs
- Fluid 960 Grid System
- https://github.com/bauhouse/fluid960gs - couple of years ago
978.gs
- 978.gs
- http://978.gs/browsers - handy device resolution info
Columnal
- The Columnal CSS grid system
- responsive
- fluid
- 12 columns, dividing into two, three, four, or six columns.
Fluid Baseline Grid
- Fluid Baseline Grid system was built with typographic standards in mind and combines principals of fluid-column layouts, baseline grids and mobile-first responsive design into a resolution independent and device agnostic framework. It is packed with CSS normalization, beautiful typographic standards, corrected bugs, common browser inconsistencies and improved usability.
- https://github.com/thedayhascome/Fluid-Baseline-Grid - several months ago
Griddle
- Griddle is a fluid and modular grid system for modern browsers — IE8+, Firefox, Safari, Opera, Chrome.
1000px
Simple Grid
Other
LESS
960 LESS
- 960 LESS is an adaption of the 960 Grid System available at http://960.gs. This adaption is done to make use of LESS Mixins to, in theory, allow for less code to be used in the creation of a site. The flexibility of the mixins allows for pretty much any grid system to be usable, with margins of 10px per column. This allow, in theory, 2, 3, 4, 5, 6, 8, 10, 12, 15, 16, 20, 24 or more columns to be used without having to create excessive amounts of code.
Kube
LESS and SCSS
semantic.gs
- semantic.gs - The Semantic Grid System
- LESS, SCSS, Stylus
- Set column and gutter widths, choose the number of columns, and switch between pixels and percentages.
- The Semantic Grid System: Page Layout For Tomorrow - Aug 23rd, 2011
- network
- zipball
- grid.scss | grid.scss (raw)
@import 'grid'; /* defaults to 12 column, 960 pixel grid system. */ @column-width: 60; @gutter-width: 20; @columns: 16; /* overriding these variables after grid.less import */ @total-width: 100%; /* for fluid (percentage-based) grid rather than a fixed pixels */
@include row(4,4);
@row($columns:$columns) @column($x,$columns:$columns) @push($offset:1) @pull($offset:1)
Frameless
- Frameless - Adapt column by column, not pixel by pixel.
- adapts around 320, 480, 600, 900 and 1900 pixels
- less, scss, grid overlay
SCSS
compass-960-plugin
- compass-960-plugin - used in sasson
- based on 960.gs / demo
- Compass, the 960 CSS framework, and Semantic Markup - March 2, 2009
- Cleaner 960.gs using SASS and Compass - June 19th, 2010
- Mastering the 960 Grid System
Install
gem install compass-960-plugin
Grid mixins (see Sasson's layout partials for examples)
@import "960/grid";
Default is 12 colums. Set this in subtheme .scss;
$ninesixty-columns: 16;
Give an element a grid attribute
@include grid-container; - give to #page. sets width and auto margins @include grid(8); - declare an 8 column wide element @include grid-prefix(2); - add an empty 2-wide element before @include grid-suffix(2); - add an empty 2-wide element after @include grid-push(4); - push element 4 to the right @include grid-pull(4); - pull element 4 to the right @include alpha; - remove left gutter, for nested grid first element. must got after grid() @include omega; - remove right gutter, for nested grid last element. must got after grid()
Blueprint
- Blueprint
- http://compass-style.org/reference/blueprint/grid/
- 12, 16, plus 24 30pxcolumn, 10px gutter
- 950px
sass-960gs
- 960 Grid System - Standalone - recent
- Ruby Gem
Susy
- Susy - Responsive grids for Compass
- Introduction to Building Websites Using Susy and Compass's Vertical Rhythm - Dec 30th, 2011
- Responsive Grids With Susy - net tuts
- Gist: Susy Tutorial
$total-columns : 12; // a 12-column grid $column-width : 4em; // each column is 4em wide $gutter-width : 1em; // 1em gutters between columns $grid-padding : $gutter-width; // grid-padding equal to gutters
.page { // page acts as a container for our grid. @include container; // header and footer are full-width by default. header, footer { clear: both; } // nav spans 3 columns of total 12. nav { @include span-columns(3,12); } .content { // content spans the final (omega) 9 columns of 12. @include span-columns(9 omega,12); // main content spans 6 of those 9 columns. .main { @include span-columns(6,9); } // secondary content spans the final 3 (omega) of 9 columns. .secondary { @include span-columns(3 omega,9); } } }
Blankwork
- Blankwork is a simple, flexible and semantic grid system.
- scss, flexible and semantic
Golden Grid System
- Golden Grid System - A folding grid for responsive design.
- https://github.com/jonikorpi/Golden-Grid-System - few of months ago
- less and scss
- 240 up
- 18 even columns, two for grid border, 16 columns for design
Singularity
Zen
Neat
- https://github.com/thoughtbot/neat - for bourbon
Salsa
- https://github.com/tsi/Salsa - from Sasson v3, was Griddy
Griddles
- Griddles is a simple, opinionated grid system for modern responsive layouts. Free of columns it provides percentage based-layouts with an override capability so you can determine what happens to the layout at given break-points purely by adding classes.
Bootstrap and Foundation
etc
Bulma
- Bulma - a free, open source CSS framework based on Flexbox and used by more than 100,000 developers.
JS
Fluid grid and content
Grid generators
- http://grids.heroku.com/
- http://www.gridsystemgenerator.com/gs01.php
- http://gridpak.com/
- http://www.designbygrid.com/tools
- http://modulargrid.org
- http://blog.centresource.com/2009/06/15/6-tips-and-tricks-for-designing-with-960/
- http://divitodesign.com/css/tricks-to-solve-960-css-framework-problems/
Overlays
- http://hashgrid.com/ - js grid display
- http://gridwax.gs/ - grid bookmarklet
- http://peol.github.com/960gridder/ - grid and rhythm bookmarklet
- https://github.com/milkmiruku/960gridder - my fork of the above. 16 column, 24 line height.
Vertical rhythm
- The Elements of Typographic Style Applied to the Web
- Compose to a Vertical Rhythm- oft' linked to, Dec 12th 2006
- http://jransijn.tumblr.com/post/5304050674/resources-vertical-rhythm-in-webdesign
- http://designbyelle.com.au/journal/2008/02/14/vertical-rhythm-recent-resources/
Web tool
- http://www.gridlover.net/
- http://drewish.com/tools/vertical-rhythm - calculator, px based
- http://topfunky.com/baseline-rhythm-calculator/ - px based
- http://lamb.cc/typograph/ - Scale & Rhythm - weird paddings
JS
- http://simplefocus.com/flowtype/ FlowType.JS - Web typography at its finest: font-size and line-height based on element width.
Bookmarklets
- http://gridwax.gs/ - great
- http://sfcgeorge.github.com/Grid-Bookmarklet/
- http://scribu.net/util/baseline-checker-bookmarklet.html
- http://www.portamento.pixelite.me/ - too snazzy
CSS
- http://net.tutsplus.com/tutorials/other/the-golden-ratio-in-web-design/
- Golden Ratio Typography Calculator
- https://github.com/jonschlinkert/vertical-rhythm - css/less templates
Sass
- See Sass