Mobile web design cover

Mobile Web Design

Hi there, this is Thomas (aka. Makzan on the web). I am an author on web technology and game design. This is a course about making website that works in mobile devices.

Table of Content


In this course, we will explore different techniques to create our content in mobile web. We will focus on content strategy for mobile devices. We will try to fit our layout into small screen. We will make the form inputs fit the virtual keyboards in touch devices. We will fetch device data such as raw touches events and device orientation. Finally, we will pack and deploy our web.

Course Style

In my course, I focus on the concept rather that listing all the specs here. It's because you can find the official spec from Mozilla or W3C. My value here is to show how things are designed and why it is designed like that. It's about the concept that you apply in your practical work.

I used to use examples to during the learning journey. You may find the code example repository on this Github repo.

In case you have any questions, you may reach me via the chat box below the web page. If I’m away from keyboard, you may leave a comment or send me emails.

Chapter 1

Getting started.

  1. Setting up the development environment
  2. Testing environment
  3. Where to reference documentation?

Chapter 2

Content is king.

  1. Document title
  2. Content strategy
  3. Content structure
  4. Mobile first approach
  5. Sketching for mobile web
  6. Minimal mobile friendly website
  7. List view
  8. Do mobile web has to be a webpage?

Chapter 3

The modern CSS framework.

  1. Trying Zurb Foundation on jsFiddle
  2. Setting up Foundation
  3. Foundation grid
  4. Centered column
  5. Push and pull column
  6. Block grid
  7. Flex video
  8. Foundation topbar
  9. Off canvas
  10. Interchangable content
  11. Assignment

Chapter 4

The core of mobile web design.

  1. Recap – Minimal mobile friendly website
  2. Using viewport to define initial browser rendering
  3. Using media query to define styles with condition
  4. Navigation strategy for small screen
  5. Putting navigation at bottom
  6. Building our own grid system
  7. Introducing Ungrid – Another minimal grid approach
  8. Media queries in Zurb Foundation

Chapter 5

Adding logics to CSS.

  1. What is Proprocessor?
  2. Preprocessor options
  3. Nested styles
  4. SCSS variable
  5. SCSS mixin
  6. Using loop to define grid

Chapter 6

Providing a good reading experience.

  1. Different font sizes
  2. Reading distance and font size
  3. Adaptive copywriting from Basecamp
  4. Our own adaptive copywriting

Chapter 7

  1. Handling 300ms click delay
  2. Using Slick for mobile carousel
  3. Recognizing gesture with HammerJS

Chapter 8

Styling form inputs for mobile.

  1. Specify input types
  2. Styling inputs for mobile
  3. Styling radio button
  4. Styling input range
  5. Using file button

Chapter 9

Taking the web offline.

  1. LocalStorage
  2. Application Cache

Chapter 10

Create dedicated mobile website.

  1. Quick prototyping with online code editors
  2. One page application
  3. Link between pages
  4. Page transition
  5. jQuery mobile button
  6. UI Action Flow
  7. UI flow exercise
  8. List view
  9. Customizing jQuery Mobile

Chapter 11

Packing the web as application.

  1. Adding web page to home screen
  2. PhoneGap Build
  3. Native app or web app?

Chapter 12


overlaied image when clicked on thumbnail