SlideShare a Scribd company logo
Responsive
and

Responsible

web design
in

DNN
PLAN & DESIGN
KNOW What A Responsive
WebSITE is
A fluid layout and flexible images adapted
with media queries
MISUSe the TERM
Responsive

vs.

Adaptive

A fluid grid layout

Multiple fixed width
layouts

Additional changes
applied with Media
Queries

Layout changes at set
breakpoints
(with Media Queries)
LIMIT MOBILE CONTENT
Mobile users are not just “on the go”
Many people have mobile devices as their
primary internet access
The lines between mobile/tablet/desktop
are becoming blurred
Alternative to native mobile apps
Prioritize Content
Do a content audit and prioritization before
any layout or design
Think “mobile first”
... but you don’t HAVE to develop mobile first

Consider:
If it isn’t needed on mobile, is it even
needed on desktop???
USE HTML wireframes
http://foundation.zurb.com

Example
BANISH PHOTOSHOP
.....
expect pixel-perfect
matching code
Design with dev in mind
Pay attention to order and flow
Limit large or complex graphics
Know what CSS can do
Create a style Guide
•

Show available design elements

•

Code modular HTML/CSS building blocks

•

Include baseline typography, UI elements
(buttons, form constructs, etc)

•

Easier to test and improve workflow between
multiple team members

24ways.org/2011/front-end-style-guides
Front end styleguide collection: bit.ly/IR3lHF
DEVELOP
Use a fluid grid
<div class=”row”>
<div id="ContentPane" runat="server"
class=”col two-third” />
<div id="SmallRightPane" runat="server"
class=”col third” />
</div>
<div class=”row”>
<div id="LeftPane" runat="server"
class=”col half” />
<div id="RightPane" runat="server"
class=”col half” />
</div>
Use a fluid grid
.half {
.third {
.two-third {
.fourth {
.three-fourth{
.fifth {
.two-fifth {
.three-fifth {
.four-fifth {
.col {

width: 50%; }
width: 33.333333333333%;}
width: 66.66666666667%;}
width: 25%; }
width: 75%; }
width: 20%; }
width: 40%; }
width: 60%; }
width: 80%; }
padding: 10px;
float: left;
box-sizing: border-box; }
Use the new box model
Standard box model:

New box model:

Padding & border
added on to the
width/height

Padding & border
subtracted from
width/height

box-sizing:
border-box

box-sizing:
border-box
Set fixed-width spacing
#LeftColumn {
padding: 10px 20px;!
-moz-box-sizing:border-box;
-webkit-box-sizing:border-box;!
box-sizing:border-box; }
#RightColumn {
padding: 10px;!
-moz-box-sizing:border-box;
-webkit-box-sizing:border-box;!
box-sizing:border-box;
border: 1px solid #627A7E; }
IE Polyfill: (Natively supported in IE8+)
https://github.com/Schepp/box-sizing-polyfill
DO a lot of math
Widths set with percentage are relative to
their container element
Keep it simple
#ContentLeft {
  float: left;
width: 60%;
padding-right: 40px;
box-sizing: border-box; }
#ContentRight {
   float: left;
width: 40%;
box-sizing: border-box; }
use media queries
Media queries serve different CSS based on
your browser size or type.
In your Skin CSS file, define regular (desktop)
styles, then:
•
•
•
•

@media
@media
@media
@media

(max-width:
(max-width:
(max-width:
(max-width:

900px)
720px)
480px)
320px)

{
{
{
{

}
}
}
}
use media queries
Or, go “mobile first”:
• @media (min-width: 480px) {
• @media (min-width: 720px) {
• Etc…
Better for performance!

}
}
USE pre-determined,
Specific breakpoints
Set breakpoints when you need them!
use browser fallbacks
@media only works in IE 9 +
• Javascript polyfill for IE 8 and below:
– https://github.com/scottjehl/Respond
– Adds support for media queries set with
min-width/max-width

• For wider media query support:
– http://code.google.com/p/css3-mediaqueries-js

• Or use conditional comments to link to IE CSS
set font sizes with rem’s
• html { font-size: 62.5%; }
• body { font-size:
font-size:
{ font-size:
• h1
font-size:

14px;
1.4rem; }
24px;
2.4rem; }

• Can change body size % in @media to
adjust all site fonts
create scalable headlines
Fittextjs.com: for text headlines that dynamically
fit the width of its surrounding element.
USE ICON FONTS
Always crisp, no pixelization or multiple
image sizes needed
Easily change size, color, and shadows
using CSS

IcoMoon.io

Pictos.cc

MORE
(css-tricks.com/flat-icons-icon-fonts)
Set media max-widths
Ensure media does not break outside of set
container:
• img, object, embed, iframe, video
{ max-width:100%; }
set inline media sizes
Do not set height or width of images or
media in the DNN editor
Do not upload media larger than the
maximum size that you want it to display
create scalable video
Fitvidsjs.com: for fluid width video embeds
OVERuse display:none
display:none
• Hide unnecessary content for mobile
• Add mobile only content with
display:none in the regular CSS
Use Sparingly!

Don’t limit content
OVERuse display:none
Important Note:
display:none hides content but
(generally) does not improve performance!
Hiding images:
Setting parent element to display:none
will prevent the image from being loaded.
Use menus that use
unordered lists
Menu modules that use unordered lists can be made
responsive
<nav>
<ul>
<li><a href="/”>Home</a></li>
<li><a href="/About.aspx">About</a>
<ul>
<li><a href=”/About/Bio.aspx”>Bio</a></li>
</ul>
</li>
<li><a href="/Speaking.aspx">Speaking</a></li>
<li><a href="/Contact.aspx">Contact</a></li>
</ul>
</nav>
Choose responsive menu
strategy carefully
OPTIONS:
Resize & Reposition
Switch Horizontal to Vertical
Dropdown (Select) Menu
Toggle Menu Button
Left Slideout Menu
1. RESIZE & REposition (aka “do NOTHING”)
1. RESIZE & REposition
What a horizontal unordered list will naturally
do
Can hide submenu dropdowns (If accessible
elsewhere)
• nav ul li ul { display:none; }
Use media queries to shrink fonts and
margins before, or to avoid, breaking to
multiple lines
1. RESIZE & REposition
Tutorial: http://designshack.net/articles/css/
code-a-responsive-navigation-menu
1. RESIZE & REposition
When to use it?
Submenus don’t need to be accessed
Items will fit on one or two lines
Items not expected to change often
A solution without Javascript is desired
Minimal effort desired
2. Switch horizontal to vertical
2. Switch horizontal to vertical
Regular CSS:
• nav ul li { float:left; }
Mobile-size CSS:
• @media (max-width: 480px) {
nav ul li { float:none; !!
!
width:100%; }
}

Can hide submenu dropdowns (If accessible
elsewhere)
• nav ul li ul { display:none; }
2. Switch horizontal to vertical
Tutorial to include dropdown submenus:
http://ejhansel.com/a-responsive-drop-down-navigation-menu

• Based on Suckerfish dropdowns
• Uses :hover to expand submenus
2. Switch horizontal to vertical
When to use it?
Few main menu items
Longer page names
Can choose whether to include submenus
A solution without Javascript is desired
Minimal effort desired
3. dropdown (select) menu
3. dropdown (select) menu
Uses efficient native mobile controls
Use jQuery to dynamically swap:
<nav>
<ul>
<li><a href=“#”>…</a></li>
</ul>
</nav>
-to<nav>
<select>
<option value=“#”>…</option>
</select>
</nav>

From: http://css-tricks.com/convert-menu-to-dropdown
Responsive & Responsible Web Design in DNN
3. dropdown (select) menu
Similar options that switch <ul> to <select>:
• TinyNav.js:
– Uses jQuery, small file size
– https://github.com/viljamis/TinyNav.js

• Responsive Menu:
– Uses jQuery, supports submenus, lots of settings
– https://github.com/mattkersley/Responsive-Menu

• SelectNav.js:
– Inspired by TinyNav, Independent (no jQuery),
supports submenus
– http://lukaszfiszer.github.com/selectnav.js
3. dropdown (select) menu
When to use it?
Want mobile menu to fit in a small area
Want native controls for the mobile menu
More menu items and/or longer page names
Want submenus included
Ok with Javascript solution
4. Toggle menu button
4. Toggle menu button
Similar to switching a horizontal menu
to vertical, with the addition of hiding
the menu until clicked/touched
The markup:
<nav>! !
!
<a href="#" class=”
show-mobile">Main Menu</a>!
<ul><li>…</li></ul>!
</nav>
4. Toggle menu button
Regular CSS:
.show-mobile { display: none; }
CSS to show the button and hide the menu for mobile:
@media (max-width: 768px) {! !
nav .show-mobile {
display: block; }
nav ul {!
display: none; }
}
jQuery for the menu toggle:
<script>! !
jQuery(".show-mobile").click(function () {
jQuery("nav ul").toggle("fast");!
});
<script>
4. Toggle menu button
An in-depth, mobile-first menu tutorial:
• http://azadcreative.com/2012/07/
responsive-mobile-first-navigation-menu
• Uses a mobile menu button toggle, and
includes submenus expanding on click
4. Toggle menu button
When to use it?
Want mobile menu to fit in a small area
Want a highly stylable, flexible option
More menu items and/or longer page names
Can choose whether to include submenus
Ok with Javascript solution
5. Left slideout Menu
5. Left slideout Menu
Tutorials:
• jPanelMenu - jQuery plugin:
jpanelmenu.com
• PageSlide - jQuery plugin:
srobbin.com/jquery-plugins/pageslide
• CSS-only solution:
css-tricks.com/off-canvas-menu-with-css-target
5. Left slideout Menu
When to use it?
Want mobile menu to fit in a small area
Want a sleek mobile menu option
More menu items and/or longer page names
Ok with more advanced coding
Ok with Javascript (or CSS with limited browser support)
remember the viewport
Ensure mobile browsers will scale to view
your site correctly
Include in the <head> :
<meta name="viewport"
content="width=device-width”>
CHoose modules wisely
Choose modules that are have template
systems and easy-to-modify layouts.
Download demos and test
Avoid modules that use table layouts, inline
styling, and lack stylable classes and IDs
Expect to customize module layouts and
allow time for testing
Resources
• Responsive Web Design (A Book Apart 4):
Ethan Marcotte
• Implementing Responsive Design:
Tim Kadlec
• This is Responsive: Patterns, resources, news
http://bradfrost.github.io/this-is-responsive/
• http://bdconf.com/newsletter
• MediaQueri.es
Questions?
Amelia Marschall-Miller
Gravity Works Design + Development
Partner & Creative Director

GravityWorksDesign.com
AmeliaMarschall.com
@MimiAmelia

More Related Content

What's hot (20)

PPTX
Bootstrap [part 2]
Ghanshyam Patel
 
PDF
Lab#10 navigation, links and hover rollovers
Yaowaluck Promdee
 
PDF
Responsive Web Design
Cory Webb
 
PDF
How to use CSS3 in WordPress
Suzette Franck
 
PDF
Bootstrap 3 - Sleek, intuitive, and powerful mobile first front-end framework...
Cedric Spillebeen
 
PDF
Creating Dynamic Landing Pages for Drupal with Panels - Webinar
Suzanne Dergacheva
 
PDF
Wordpress Workshop: Session One
WP Web Wizards
 
PDF
Refreshing Your UI with HTML5, Bootstrap and CSS3
Matt Raible
 
PPT
Should You Wordpress?
buechler
 
PDF
Style Guides Are The New Photoshop (Fronteers 2012)
Stephen Hay
 
PDF
Wordpress 101 Training
Happy Marketer
 
PDF
WordPress: After The Install
WordPress NYC
 
PPT
Dreamweaver & Me PPT
electricgeisha
 
PPSX
Webnet Presentation
Trish Roque
 
PPTX
Web Development
Aditya Raman
 
PPTX
Display Suite: A Themers Perspective
Mediacurrent
 
PDF
Getting the Most out of WordPress.com
Mel Choyce
 
PPTX
Web Standards And Protocols
Steven Cahill
 
PPT
Making Your Own CSS Framework
Dan Sagisser
 
PDF
a11yTO - Web Accessibility for Developers
Monika Piotrowicz
 
Bootstrap [part 2]
Ghanshyam Patel
 
Lab#10 navigation, links and hover rollovers
Yaowaluck Promdee
 
Responsive Web Design
Cory Webb
 
How to use CSS3 in WordPress
Suzette Franck
 
Bootstrap 3 - Sleek, intuitive, and powerful mobile first front-end framework...
Cedric Spillebeen
 
Creating Dynamic Landing Pages for Drupal with Panels - Webinar
Suzanne Dergacheva
 
Wordpress Workshop: Session One
WP Web Wizards
 
Refreshing Your UI with HTML5, Bootstrap and CSS3
Matt Raible
 
Should You Wordpress?
buechler
 
Style Guides Are The New Photoshop (Fronteers 2012)
Stephen Hay
 
Wordpress 101 Training
Happy Marketer
 
WordPress: After The Install
WordPress NYC
 
Dreamweaver & Me PPT
electricgeisha
 
Webnet Presentation
Trish Roque
 
Web Development
Aditya Raman
 
Display Suite: A Themers Perspective
Mediacurrent
 
Getting the Most out of WordPress.com
Mel Choyce
 
Web Standards And Protocols
Steven Cahill
 
Making Your Own CSS Framework
Dan Sagisser
 
a11yTO - Web Accessibility for Developers
Monika Piotrowicz
 

Similar to Responsive & Responsible Web Design in DNN (20)

PDF
Responsive Web Design: From Mobile To Desktop, And Beyond (updated for MobiDe...
gravityworksdd
 
PDF
WordPress Navigation in Responsive Design
openchamp
 
PDF
Responsive Navigation Patterns - Respond 2014
David Lewis
 
PDF
Stop reinventing the wheel: Build Responsive Websites Using Bootstrap
freshlybakedpixels
 
PDF
Responsive Web Designs
Prasanna Ramamurthy
 
PDF
Responsive Design
Clarissa Peterson
 
PDF
Responsive Design in the Real World
Clarissa Peterson
 
PDF
Responsive Design in WordPress
Thad Allender
 
PDF
Going responsive
Robert Cochran
 
PDF
CSS3: Using media queries to improve the web site experience
Zoe Gillenwater
 
PDF
CSS3, Media Queries, and Responsive Design
Zoe Gillenwater
 
PDF
Introduction to Responsive Design v.2
Clarissa Peterson
 
KEY
The future of BYU web design
Nate Walton
 
PPTX
Twitter bootstrap
dennisdc
 
PDF
Responsive Web Design - Why and How
Judi Wunderlich
 
PDF
Siruna presentation Mobile Drupal @ Drupalcamp Colorado Jun09
Tom Deryckere
 
PDF
Responsive Web Design for Drupal, CMS Expo
Emma Jane Hogbin Westby
 
PDF
Responsive Web Design
CLEVER°FRANKE
 
PPTX
Chapter 17: Responsive Web Design
Steve Guinan
 
PPTX
Dn nfor mobile_download_en
mbeatrizoliveira
 
Responsive Web Design: From Mobile To Desktop, And Beyond (updated for MobiDe...
gravityworksdd
 
WordPress Navigation in Responsive Design
openchamp
 
Responsive Navigation Patterns - Respond 2014
David Lewis
 
Stop reinventing the wheel: Build Responsive Websites Using Bootstrap
freshlybakedpixels
 
Responsive Web Designs
Prasanna Ramamurthy
 
Responsive Design
Clarissa Peterson
 
Responsive Design in the Real World
Clarissa Peterson
 
Responsive Design in WordPress
Thad Allender
 
Going responsive
Robert Cochran
 
CSS3: Using media queries to improve the web site experience
Zoe Gillenwater
 
CSS3, Media Queries, and Responsive Design
Zoe Gillenwater
 
Introduction to Responsive Design v.2
Clarissa Peterson
 
The future of BYU web design
Nate Walton
 
Twitter bootstrap
dennisdc
 
Responsive Web Design - Why and How
Judi Wunderlich
 
Siruna presentation Mobile Drupal @ Drupalcamp Colorado Jun09
Tom Deryckere
 
Responsive Web Design for Drupal, CMS Expo
Emma Jane Hogbin Westby
 
Responsive Web Design
CLEVER°FRANKE
 
Chapter 17: Responsive Web Design
Steve Guinan
 
Dn nfor mobile_download_en
mbeatrizoliveira
 
Ad

Recently uploaded (20)

DOCX
Ai Vehicle traffic signal detector Literature Review.
DavidNameza
 
PDF
SS27 Men's Fashion Trend Book Peclers Paris
Peclers Paris
 
PPTX
sCREW cONVEYOR AUGER DAF SLUDGE SYSTEM TO
viksurs
 
PPTX
Exploring Types of Rocks Educational Presentation rock forming james harold r...
jamescarllfelomino6
 
PDF
Presentation of design made by power point
habibikuw002
 
PPTX
CompanyReviewTypeOfPowerpointThatIsColor
plukleomarigpuara
 
PPTX
Great_Discoverers_Nohzyxyxyzyzyzyzzyz_Imagptx
kevadiyahem07
 
PDF
PHILGOV-QUIZ-_20250625_182551_000.pdfhehe
errollnas3
 
PPTX
Town planning is a concept used in architectural design. It plays a very impo...
IshikaPanchal11
 
PPTX
sistem teknologi yang di desain untuk mahasiswa dan dosen agar memudahkan mer...
gamesonlya2rj
 
PPTX
High-Rise Interior Mastery by Top 3D Visualization Experts
Yantram Animation Studio Corporation
 
PPTX
DEVELOPING-PARAGRAPHS.pptx-developing...
rania680036
 
PPTX
Visit Biogas Refresher Slide_Jun 2025.pptx
isyraffemir
 
PPTX
一比一原版(UOIT毕业证)安省理工大学毕业证如何办理
Taqyea
 
PPTX
Urban design is a huge concept when it comes to planning.
IshikaPanchal11
 
PDF
Presentation - Interior Design Concepts (2).pdf
vrindagrawal456
 
DOCX
Ai vehicle traffic signal detector research proposal.docx
DavidNameza
 
PPTX
feminist gnsudnshxujenduxhsixisjxuu.pptx
rowvinafujimoto
 
PDF
The Role of Logos as Identity Shapers (IFIC Logo)
Md. Mehedi Hasan Asif
 
PDF
Black and Blue Modern Technology Presentation.pdf
hjaders1104
 
Ai Vehicle traffic signal detector Literature Review.
DavidNameza
 
SS27 Men's Fashion Trend Book Peclers Paris
Peclers Paris
 
sCREW cONVEYOR AUGER DAF SLUDGE SYSTEM TO
viksurs
 
Exploring Types of Rocks Educational Presentation rock forming james harold r...
jamescarllfelomino6
 
Presentation of design made by power point
habibikuw002
 
CompanyReviewTypeOfPowerpointThatIsColor
plukleomarigpuara
 
Great_Discoverers_Nohzyxyxyzyzyzyzzyz_Imagptx
kevadiyahem07
 
PHILGOV-QUIZ-_20250625_182551_000.pdfhehe
errollnas3
 
Town planning is a concept used in architectural design. It plays a very impo...
IshikaPanchal11
 
sistem teknologi yang di desain untuk mahasiswa dan dosen agar memudahkan mer...
gamesonlya2rj
 
High-Rise Interior Mastery by Top 3D Visualization Experts
Yantram Animation Studio Corporation
 
DEVELOPING-PARAGRAPHS.pptx-developing...
rania680036
 
Visit Biogas Refresher Slide_Jun 2025.pptx
isyraffemir
 
一比一原版(UOIT毕业证)安省理工大学毕业证如何办理
Taqyea
 
Urban design is a huge concept when it comes to planning.
IshikaPanchal11
 
Presentation - Interior Design Concepts (2).pdf
vrindagrawal456
 
Ai vehicle traffic signal detector research proposal.docx
DavidNameza
 
feminist gnsudnshxujenduxhsixisjxuu.pptx
rowvinafujimoto
 
The Role of Logos as Identity Shapers (IFIC Logo)
Md. Mehedi Hasan Asif
 
Black and Blue Modern Technology Presentation.pdf
hjaders1104
 
Ad

Responsive & Responsible Web Design in DNN

  • 3. KNOW What A Responsive WebSITE is A fluid layout and flexible images adapted with media queries
  • 4. MISUSe the TERM Responsive vs. Adaptive A fluid grid layout Multiple fixed width layouts Additional changes applied with Media Queries Layout changes at set breakpoints (with Media Queries)
  • 5. LIMIT MOBILE CONTENT Mobile users are not just “on the go” Many people have mobile devices as their primary internet access The lines between mobile/tablet/desktop are becoming blurred Alternative to native mobile apps
  • 6. Prioritize Content Do a content audit and prioritization before any layout or design
  • 7. Think “mobile first” ... but you don’t HAVE to develop mobile first Consider: If it isn’t needed on mobile, is it even needed on desktop???
  • 11. Design with dev in mind Pay attention to order and flow Limit large or complex graphics Know what CSS can do
  • 12. Create a style Guide • Show available design elements • Code modular HTML/CSS building blocks • Include baseline typography, UI elements (buttons, form constructs, etc) • Easier to test and improve workflow between multiple team members 24ways.org/2011/front-end-style-guides Front end styleguide collection: bit.ly/IR3lHF
  • 14. Use a fluid grid <div class=”row”> <div id="ContentPane" runat="server" class=”col two-third” /> <div id="SmallRightPane" runat="server" class=”col third” /> </div> <div class=”row”> <div id="LeftPane" runat="server" class=”col half” /> <div id="RightPane" runat="server" class=”col half” /> </div>
  • 15. Use a fluid grid .half { .third { .two-third { .fourth { .three-fourth{ .fifth { .two-fifth { .three-fifth { .four-fifth { .col { width: 50%; } width: 33.333333333333%;} width: 66.66666666667%;} width: 25%; } width: 75%; } width: 20%; } width: 40%; } width: 60%; } width: 80%; } padding: 10px; float: left; box-sizing: border-box; }
  • 16. Use the new box model Standard box model: New box model: Padding & border added on to the width/height Padding & border subtracted from width/height box-sizing: border-box box-sizing: border-box
  • 17. Set fixed-width spacing #LeftColumn { padding: 10px 20px;! -moz-box-sizing:border-box; -webkit-box-sizing:border-box;! box-sizing:border-box; } #RightColumn { padding: 10px;! -moz-box-sizing:border-box; -webkit-box-sizing:border-box;! box-sizing:border-box; border: 1px solid #627A7E; } IE Polyfill: (Natively supported in IE8+) https://github.com/Schepp/box-sizing-polyfill
  • 18. DO a lot of math Widths set with percentage are relative to their container element
  • 19. Keep it simple #ContentLeft {   float: left; width: 60%; padding-right: 40px; box-sizing: border-box; } #ContentRight {    float: left; width: 40%; box-sizing: border-box; }
  • 20. use media queries Media queries serve different CSS based on your browser size or type. In your Skin CSS file, define regular (desktop) styles, then: • • • • @media @media @media @media (max-width: (max-width: (max-width: (max-width: 900px) 720px) 480px) 320px) { { { { } } } }
  • 21. use media queries Or, go “mobile first”: • @media (min-width: 480px) { • @media (min-width: 720px) { • Etc… Better for performance! } }
  • 22. USE pre-determined, Specific breakpoints Set breakpoints when you need them!
  • 23. use browser fallbacks @media only works in IE 9 + • Javascript polyfill for IE 8 and below: – https://github.com/scottjehl/Respond – Adds support for media queries set with min-width/max-width • For wider media query support: – http://code.google.com/p/css3-mediaqueries-js • Or use conditional comments to link to IE CSS
  • 24. set font sizes with rem’s • html { font-size: 62.5%; } • body { font-size: font-size: { font-size: • h1 font-size: 14px; 1.4rem; } 24px; 2.4rem; } • Can change body size % in @media to adjust all site fonts
  • 25. create scalable headlines Fittextjs.com: for text headlines that dynamically fit the width of its surrounding element.
  • 26. USE ICON FONTS Always crisp, no pixelization or multiple image sizes needed Easily change size, color, and shadows using CSS IcoMoon.io Pictos.cc MORE (css-tricks.com/flat-icons-icon-fonts)
  • 27. Set media max-widths Ensure media does not break outside of set container: • img, object, embed, iframe, video { max-width:100%; }
  • 28. set inline media sizes Do not set height or width of images or media in the DNN editor Do not upload media larger than the maximum size that you want it to display
  • 29. create scalable video Fitvidsjs.com: for fluid width video embeds
  • 30. OVERuse display:none display:none • Hide unnecessary content for mobile • Add mobile only content with display:none in the regular CSS Use Sparingly! Don’t limit content
  • 31. OVERuse display:none Important Note: display:none hides content but (generally) does not improve performance! Hiding images: Setting parent element to display:none will prevent the image from being loaded.
  • 32. Use menus that use unordered lists Menu modules that use unordered lists can be made responsive <nav> <ul> <li><a href="/”>Home</a></li> <li><a href="/About.aspx">About</a> <ul> <li><a href=”/About/Bio.aspx”>Bio</a></li> </ul> </li> <li><a href="/Speaking.aspx">Speaking</a></li> <li><a href="/Contact.aspx">Contact</a></li> </ul> </nav>
  • 33. Choose responsive menu strategy carefully OPTIONS: Resize & Reposition Switch Horizontal to Vertical Dropdown (Select) Menu Toggle Menu Button Left Slideout Menu
  • 34. 1. RESIZE & REposition (aka “do NOTHING”)
  • 35. 1. RESIZE & REposition What a horizontal unordered list will naturally do Can hide submenu dropdowns (If accessible elsewhere) • nav ul li ul { display:none; } Use media queries to shrink fonts and margins before, or to avoid, breaking to multiple lines
  • 36. 1. RESIZE & REposition Tutorial: http://designshack.net/articles/css/ code-a-responsive-navigation-menu
  • 37. 1. RESIZE & REposition When to use it? Submenus don’t need to be accessed Items will fit on one or two lines Items not expected to change often A solution without Javascript is desired Minimal effort desired
  • 38. 2. Switch horizontal to vertical
  • 39. 2. Switch horizontal to vertical Regular CSS: • nav ul li { float:left; } Mobile-size CSS: • @media (max-width: 480px) { nav ul li { float:none; !! ! width:100%; } } Can hide submenu dropdowns (If accessible elsewhere) • nav ul li ul { display:none; }
  • 40. 2. Switch horizontal to vertical Tutorial to include dropdown submenus: http://ejhansel.com/a-responsive-drop-down-navigation-menu • Based on Suckerfish dropdowns • Uses :hover to expand submenus
  • 41. 2. Switch horizontal to vertical When to use it? Few main menu items Longer page names Can choose whether to include submenus A solution without Javascript is desired Minimal effort desired
  • 43. 3. dropdown (select) menu Uses efficient native mobile controls Use jQuery to dynamically swap: <nav> <ul> <li><a href=“#”>…</a></li> </ul> </nav> -to<nav> <select> <option value=“#”>…</option> </select> </nav> From: http://css-tricks.com/convert-menu-to-dropdown
  • 45. 3. dropdown (select) menu Similar options that switch <ul> to <select>: • TinyNav.js: – Uses jQuery, small file size – https://github.com/viljamis/TinyNav.js • Responsive Menu: – Uses jQuery, supports submenus, lots of settings – https://github.com/mattkersley/Responsive-Menu • SelectNav.js: – Inspired by TinyNav, Independent (no jQuery), supports submenus – http://lukaszfiszer.github.com/selectnav.js
  • 46. 3. dropdown (select) menu When to use it? Want mobile menu to fit in a small area Want native controls for the mobile menu More menu items and/or longer page names Want submenus included Ok with Javascript solution
  • 47. 4. Toggle menu button
  • 48. 4. Toggle menu button Similar to switching a horizontal menu to vertical, with the addition of hiding the menu until clicked/touched The markup: <nav>! ! ! <a href="#" class=” show-mobile">Main Menu</a>! <ul><li>…</li></ul>! </nav>
  • 49. 4. Toggle menu button Regular CSS: .show-mobile { display: none; } CSS to show the button and hide the menu for mobile: @media (max-width: 768px) {! ! nav .show-mobile { display: block; } nav ul {! display: none; } } jQuery for the menu toggle: <script>! ! jQuery(".show-mobile").click(function () { jQuery("nav ul").toggle("fast");! }); <script>
  • 50. 4. Toggle menu button An in-depth, mobile-first menu tutorial: • http://azadcreative.com/2012/07/ responsive-mobile-first-navigation-menu • Uses a mobile menu button toggle, and includes submenus expanding on click
  • 51. 4. Toggle menu button When to use it? Want mobile menu to fit in a small area Want a highly stylable, flexible option More menu items and/or longer page names Can choose whether to include submenus Ok with Javascript solution
  • 53. 5. Left slideout Menu Tutorials: • jPanelMenu - jQuery plugin: jpanelmenu.com • PageSlide - jQuery plugin: srobbin.com/jquery-plugins/pageslide • CSS-only solution: css-tricks.com/off-canvas-menu-with-css-target
  • 54. 5. Left slideout Menu When to use it? Want mobile menu to fit in a small area Want a sleek mobile menu option More menu items and/or longer page names Ok with more advanced coding Ok with Javascript (or CSS with limited browser support)
  • 55. remember the viewport Ensure mobile browsers will scale to view your site correctly Include in the <head> : <meta name="viewport" content="width=device-width”>
  • 56. CHoose modules wisely Choose modules that are have template systems and easy-to-modify layouts. Download demos and test Avoid modules that use table layouts, inline styling, and lack stylable classes and IDs Expect to customize module layouts and allow time for testing
  • 57. Resources • Responsive Web Design (A Book Apart 4): Ethan Marcotte • Implementing Responsive Design: Tim Kadlec • This is Responsive: Patterns, resources, news http://bradfrost.github.io/this-is-responsive/ • http://bdconf.com/newsletter • MediaQueri.es
  • 58. Questions? Amelia Marschall-Miller Gravity Works Design + Development Partner & Creative Director GravityWorksDesign.com AmeliaMarschall.com @MimiAmelia