Acknowledgments |
|
xv | |
Introduction |
|
1 | (1) |
|
|
2 | (5) |
|
|
2 | (1) |
|
|
3 | (2) |
|
|
5 | (1) |
|
|
5 | (1) |
|
|
6 | (1) |
|
|
6 | (1) |
|
|
7 | (1) |
|
Context: What We Don't Know |
|
|
7 | (2) |
|
|
8 | (1) |
|
"Fast" Is the Only Context That Matters |
|
|
8 | (1) |
|
|
9 | (1) |
|
|
10 | (1) |
|
|
11 | (10) |
|
A Quick Note About Terminology |
|
|
12 | (1) |
|
Who You Are and What You Need to Know |
|
|
12 | (1) |
|
Getting Our Terms Straight |
|
|
13 | (1) |
|
|
13 | (3) |
|
|
14 | (1) |
|
|
15 | (1) |
|
|
16 | (2) |
|
|
17 | (1) |
|
CSS Frameworks and Preprocessors |
|
|
18 | (1) |
|
|
18 | (1) |
|
Test and Test and Test Some More |
|
|
19 | (1) |
|
|
20 | (1) |
|
|
20 | (1) |
|
2 Structure and Semantics |
|
|
21 | (18) |
|
|
22 | (4) |
|
|
23 | (1) |
|
The Downside of HTML5 Sectioning Elements |
|
|
24 | (2) |
|
|
26 | (2) |
|
The Importance of Semantic Markup |
|
|
28 | (1) |
|
|
29 | (1) |
|
|
30 | (1) |
|
|
31 | (4) |
|
|
32 | (1) |
|
Microdata, Microformats, and RDFa |
|
|
32 | (1) |
|
|
33 | (1) |
|
|
34 | (1) |
|
|
35 | (2) |
|
|
35 | (1) |
|
iQuery and Data Attributes |
|
|
36 | (1) |
|
Data Attributes in the Wild |
|
|
37 | (1) |
|
Web Components: The Future of Markup? |
|
|
37 | (1) |
|
|
37 | (1) |
|
|
38 | (1) |
|
|
39 | (26) |
|
|
40 | (11) |
|
Media Features Based on Dimensions |
|
|
41 | (3) |
|
Combining and Negating Media Queries |
|
|
44 | (1) |
|
A Quick Digression: All About Pixels |
|
|
45 | (1) |
|
Screen Resolution Media Queries |
|
|
46 | (2) |
|
|
48 | (2) |
|
Input Mechanism Media Features |
|
|
50 | (1) |
|
|
51 | (1) |
|
Media Queries in JavaScript |
|
|
51 | (2) |
|
Adaptive vs. Responsive Web Design |
|
|
53 | (3) |
|
|
54 | (1) |
|
Dynamic Calculations on Length Values |
|
|
55 | (1) |
|
Viewport-Relative Length Units |
|
|
56 | (3) |
|
|
56 | (1) |
|
Mobile First and Content Breakpoints |
|
|
57 | (2) |
|
Responsive Design and Replaced Objects |
|
|
59 | (4) |
|
|
62 | (1) |
|
The HTML5 Responsive Images Solution |
|
|
62 | (1) |
|
|
63 | (1) |
|
|
63 | (2) |
|
4 New Approaches to CSS Layouts |
|
|
65 | (24) |
|
|
66 | (4) |
|
|
67 | (1) |
|
|
68 | (2) |
|
|
70 | (8) |
|
Declaring the Flexbox Model |
|
|
70 | (1) |
|
Changing the Content Order |
|
|
71 | (2) |
|
Alignment Inside the Container |
|
|
73 | (2) |
|
|
75 | (1) |
|
|
76 | (2) |
|
|
78 | (8) |
|
Declaring and Defining the Grid |
|
|
79 | (2) |
|
|
81 | (1) |
|
Placing Items on the Grid |
|
|
81 | (2) |
|
|
83 | (1) |
|
The September 2012 Grid Layout Syntax |
|
|
84 | (1) |
|
On the Grid Layout Iorminology |
|
|
85 | (1) |
|
|
85 | (1) |
|
|
86 | (1) |
|
|
86 | (1) |
|
|
87 | (2) |
|
|
89 | (18) |
|
|
90 | (8) |
|
The async and defer Attributes |
|
|
90 | (1) |
|
The addEventListener Method |
|
|
91 | (3) |
|
The DOMContentLoaded Event |
|
|
94 | (1) |
|
|
94 | (2) |
|
CSS Selectors in JavaScript |
|
|
96 | (1) |
|
The getElementsByClassName() Method |
|
|
97 | (1) |
|
|
97 | (1) |
|
|
98 | (6) |
|
|
98 | (2) |
|
|
100 | (1) |
|
|
101 | (1) |
|
|
102 | (2) |
|
|
104 | (1) |
|
|
105 | (1) |
|
|
106 | (1) |
|
|
106 | (1) |
|
|
107 | (18) |
|
|
108 | (2) |
|
|
110 | (1) |
|
|
111 | (2) |
|
|
113 | (1) |
|
|
114 | (1) |
|
|
115 | (1) |
|
|
116 | (1) |
|
|
117 | (2) |
|
|
119 | (2) |
|
|
121 | (2) |
|
Mozilla's Firefox OS and WebAPIs |
|
|
123 | (1) |
|
PhoneGap and Native Wrappers |
|
|
123 | (1) |
|
|
124 | (1) |
|
|
124 | (1) |
|
|
125 | (16) |
|
Comparing Vectors and Bitmaps |
|
|
126 | (1) |
|
|
126 | (9) |
|
|
127 | (1) |
|
|
128 | (2) |
|
|
130 | (2) |
|
|
132 | (2) |
|
The Convergence of SVG and CSS |
|
|
134 | (1) |
|
|
135 | (1) |
|
|
135 | (3) |
|
|
137 | (1) |
|
|
138 | (1) |
|
When to Choose SVG or Canvas |
|
|
138 | (1) |
|
|
139 | (1) |
|
|
139 | (2) |
|
|
141 | (20) |
|
|
142 | (2) |
|
|
144 | (2) |
|
|
144 | (1) |
|
|
144 | (1) |
|
|
145 | (1) |
|
|
145 | (1) |
|
|
145 | (1) |
|
|
146 | (1) |
|
|
146 | (1) |
|
On-Screen Controls and Widgets |
|
|
147 | (4) |
|
|
147 | (1) |
|
|
148 | (2) |
|
|
150 | (1) |
|
Displaying Information to the User |
|
|
151 | (3) |
|
|
151 | (1) |
|
|
152 | (1) |
|
|
153 | (1) |
|
Client-side Form Validation |
|
|
154 | (2) |
|
The Constraint Validation API |
|
|
156 | (3) |
|
|
159 | (1) |
|
|
160 | (1) |
|
|
160 | (1) |
|
|
161 | (16) |
|
|
162 | (6) |
|
Extra Attributes for the video Element |
|
|
163 | (1) |
|
|
164 | (1) |
|
|
165 | (2) |
|
|
167 | (1) |
|
|
168 | (1) |
|
|
168 | (1) |
|
|
169 | (4) |
|
|
172 | (1) |
|
Extra Properties for Audio and Video |
|
|
173 | (1) |
|
|
173 | (1) |
|
Advanced Media Interaction |
|
|
174 | (1) |
|
|
174 | (1) |
|
|
174 | (1) |
|
|
175 | (1) |
|
|
175 | (2) |
|
|
177 | (14) |
|
|
178 | (3) |
|
|
178 | (1) |
|
|
179 | (2) |
|
|
181 | (1) |
|
|
181 | (3) |
|
|
182 | (2) |
|
|
184 | (1) |
|
|
184 | (1) |
|
|
185 | (1) |
|
|
185 | (3) |
|
Contents of the AppCache File |
|
|
186 | (1) |
|
|
186 | (1) |
|
|
187 | (1) |
|
|
188 | (1) |
|
|
188 | (3) |
|
|
191 | (20) |
|
|
192 | (8) |
|
|
192 | (2) |
|
|
194 | (3) |
|
|
197 | (1) |
|
|
198 | (2) |
|
|
200 | (1) |
|
|
200 | (9) |
|
|
200 | (2) |
|
|
202 | (3) |
|
Even Further Future Layouts |
|
|
205 | (2) |
|
|
207 | (1) |
|
|
208 | (1) |
|
|
209 | (1) |
|
|
209 | (2) |
|
A Browser Support as of March 2013 |
|
|
211 | (6) |
|
|
212 | (1) |
|
Enabling Experimental Features |
|
|
212 | (5) |
|
Chapter 1 The Web Platform |
|
|
213 | (1) |
|
Chapter 2 Structure and Semantics |
|
|
213 | (1) |
|
Chapter 3 Device-Responsive CSS |
|
|
213 | (1) |
|
Chapter 4 New Approaches to CSS Layouts |
|
|
214 | (1) |
|
Chapter 5 Modern JavaScript |
|
|
214 | (1) |
|
|
215 | (1) |
|
Chapter 7 Images and Graphics |
|
|
215 | (1) |
|
|
215 | (1) |
|
|
216 | (1) |
|
|
216 | (1) |
|
|
216 | (1) |
|
|
217 | (10) |
|
|
217 | (10) |
|
Chapter 1 The Web Platform |
|
|
218 | (1) |
|
Chapter 2 Structure and Semantics |
|
|
219 | (1) |
|
Chapter 3 Device-Responsive CSS |
|
|
220 | (1) |
|
Chapter 4 New Approaches to CSS Layouts |
|
|
221 | (1) |
|
Chapter 5 Modern JavaScript |
|
|
221 | (1) |
|
|
222 | (1) |
|
Chapter 7 Images and Graphics |
|
|
223 | (1) |
|
|
223 | (1) |
|
|
224 | (1) |
|
|
225 | (1) |
|
|
225 | (2) |
Index |
|
227 | |