Users are dropping their desktops/laptops in favor of their phone or tablet at an impressive rate. If these platforms make our site difficult to use it will create a negative impression on our users, ultimately costing our companies business. To survive this trend we must go responsive. This session will discuss the basic principals of a responsive site: Flexible Images, Media Queries, and Fluid Grids. Without the assistance of a framework we will face lift a non-responsive site. Lastly, we will compare and contrast several of the simple and complete responsive frameworks that are available today: Bootstrap, Foundation, and Responsive Grid System. #codemash
2. ROBERT COCHRAN
• Consultant with Manifest
Solutions
• Practicing and teaching
responsive web development
for over 2 years.
• Author of cuke_sniffer, an open
source library used to root out
code smells in your Cucumber
projects using ruby.
5. GOALS
Understand what it means to be responsive
Explore options for going responsive
Learn about the core concepts of creating a
responsive site
Walk through an update to a existing site applying
the core concepts
Compare and contrast different libraries and
frameworks in the responsive space
7. WHAT MAKES A SITE RESPONSIVE?
Responsive web design (RWD) is a web design
approach aimed at crafting sites to provide an
optimal viewing experience—easy reading and
navigation with a minimum of resizing, panning, and
scrolling—across a wide range of devices (from
mobile phones to desktop computer monitors).
-Wikipedia
14. SIGNS OF A NON RESPONSIVE SITE
Side scrolling
Overlapping elements/text
Hard to click controls
Having to zoom in to read anything
Modals/popups that can’t be removed
Tables in markup
16. SIGNS OF A NON RESPONSIVE SITE
That slowly burning
feeling as a vein is about
to burst in your head from
having to use this site one
more timeRAGE
Poor user experience.
RAGE
52. CSS RULES TO NOT PULL YOUR
HAIR OUT.
Don’t use inline styles.
Include media queries in a separate css file that is
included last.
Use !important sparingly.
53. REVIEW
Fluid Grids - make it flow/fit
Flexible Images - make it fit
Media Queries - make it work
55. SHRINK TEST / PHONE TEST
Side scrolling
Overlapping elements/text
Tables in markup
Hard to click controls
Having to zoom in to read anything
Modals/popups that can’t be removed
56. DEBT
• Overlapping title bar
and menu
• Difficult to click menu
• Menu takes up a lot of
real estate always
• Side scrolling
• Small text
• Difficult to click buttons
• Theme disrupted
(numbers against photo)
• Immortal modal
57. DEBT - EASY
• Overlapping title bar
and menu
• Difficult to click menu
• Menu takes up a lot of
real estate always
• Side scrolling
• Small text
• Difficult to click buttons
• Theme disrupted
(numbers against photo)
• Immortal modal
58. DEBT - MEDIUM
• Overlapping title bar
and menu
• Difficult to click menu
• Menu takes up a lot of
real estate always
• Side scrolling
• Small text
• Difficult to click buttons
• Theme disrupted
(numbers against photo)
• Immortal modal
59. DEBT - HARD
• Overlapping title bar
and menu
• Difficult to click menu
• Menu takes up a lot of
real estate always
• Side scrolling
• Small text
• Difficult to click buttons
• Theme disrupted
(numbers against photo)
• Immortal modal
89. DEBT
• Overlapping title bar
and menu
• Difficult to click menu
• Menu takes up a lot of
real estate always
• Side scrolling
• Small text
• Difficult to click buttons
• Theme disrupted
(numbers against photo)
• Immortal modal
90. BATTLE PLAN
1. Address issues that make your site unusable.
2. Identify breakpoints
3. High footprint items
4. Flexible grids and images
5. Individual Styling
92. LIBRARIES/FRAMEWORKS
CONS
Update lots of DOM to
include classes and
adding wrappers
Magic
PROS
Built in responsive grid
Nest-able grids
Components/Javascript
CSS Precompilers
94. RESPONSIVE GRID SYSTEM
(LIBRARY)
PROS
CSS library not a framework.
Supplies different flexible grids
Plug and play css from
website
Good documentation
No javascript
CONS
Not as widely used as Bootstrap/
Foundation
Only breakpoints set at 480px
97. BOOTSTRAP (FRAMEWORK)
PROS
12 column grid
multiple breakpoints
Additional styles for other
components to be
responsive (images/inputs/
buttons)
Components
css pre compiler easy to
customize styles. {less} and
SASS.
Widely used, easy to
stackoverflow
98. BOOTSTRAP (FRAMEWORK)
Cons
Lots of javascript magic
Update lots of DOM to include classes and adding wrappers
Large files (even minified)
Vanilla
Parts don’t work when javascript is disabled
Significant changes from version to version
99. USING THE GRID SYSTEM
Wrapper Classes
Device Size
Width
Column Width: 1 - 12Devices:
l : > 1200px
md: > 991 px
sm: > 767px,
xs
100. COMPONENTS
Glyphicons
Dropdowns
Button groups
Input groups
Checkbox and radios addons
Button addons
Navs
Tabs
Pills
Navbar
Breadcrumbs
Pagination
Labels
Badges
Jumbotron
Page header
Thumbnails
Alerts
Progress bars
Media objects
List group
Panels
Responsive Embed
Wells
109. COMPONENTS
Grid
Flex Grid
Forms
Visibility Classes
Float Classes
Typography
Button
Button Group
Close Button
Slider
Switch
Callout
Dropdown
Media Object
Off-canvas
Reveal
Table
Tabs
Media
Badge
Flex Video
Label
Overview
Menu
Dropdown Menu
Drilldown Menu
Accordion Menu
Top Bar
Responsive Navigation
Magellan
Pagination
Breadcrumbs
Accordion
Orbit
Progress Bar
Thumbnail
Tooltip
Plugins
Abide
Equalizer
Interchange
Toggled
Sticky
110. JAVASCRIPT
Interchange Responsive Content
Off-Canvas
Top Bar
Magellan Sticky Nav
Orbit Slider
Clearing Lightbox
Range Sliders
Abide Validation
Split Buttons
Dropdown Buttons
Reveal Modal
Alerts
Prompts
Tooltips
Joyride
Dropdowns
Accordion
Tabs
Equalizer
111. RECOMMENDATIONS
Small simple site?
Large Site with out of the box
working components?
Don't want to be married to a
framework?
Want to deal with magic?
Something that has support?
Something that has be google
debugged easy?
112. GOALS
Understand what it means to be responsive
Explore options for going responsive
Learn about the core concepts of creating a
responsive site
Walk through an update to a existing site applying
the core concepts
Compare and contrast different libraries and
frameworks in the responsive space