Slide 1

Slide 1 text

Get the LOOK Use font-face & CSS3 Like the Stars #SexyType – @smcbride – seanmcb.com/sxsw2012

Slide 2

Slide 2 text

#SexyType @smcbride

Slide 3

Slide 3 text

SEAN McBRIDE

Slide 4

Slide 4 text

SEAN McBRIDE Engineer & Web Developer

Slide 5

Slide 5 text

SEAN McBRIDE Engineer & Web Developer User Experience Web Developer

Slide 6

Slide 6 text

No content

Slide 7

Slide 7 text

No content

Slide 8

Slide 8 text

Star’s look

Slide 9

Slide 9 text

Star’s look Your look (On a budget)

Slide 10

Slide 10 text

No content

Slide 11

Slide 11 text

Classic look

Slide 12

Slide 12 text

Classic look Your look (On the web)

Slide 13

Slide 13 text

HAND-PAINTED SIGNS

Slide 14

Slide 14 text

WOOD TYPE POSTERS

Slide 15

Slide 15 text

MAGAZINE SPREAD

Slide 16

Slide 16 text

CSS3

Slide 17

Slide 17 text

CSS3 @font-face @media background-size :before/:after column-count rgba text-shadow transform

Slide 18

Slide 18 text

No content

Slide 19

Slide 19 text

Examples on GitHub github.com/seanami/get-the-look-examples

Slide 20

Slide 20 text

No content

Slide 21

Slide 21 text

“How do I translate a CLASSIC LOOK into a web page?”

Slide 22

Slide 22 text

No content

Slide 23

Slide 23 text

Ideas Forms

Slide 24

Slide 24 text

Jonathan Hoefler Pivot: AIGA Design Conference 15 October 2011

Slide 25

Slide 25 text

Idea DESIGN SYSTEM Form

Slide 26

Slide 26 text

DESIGN SYSTEM

Slide 27

Slide 27 text

DESIGN SYSTEM

Slide 28

Slide 28 text

The NY Times DESIGN SYSTEM

Slide 29

Slide 29 text

The NY Times DESIGN SYSTEM DESIGN SYSTEM

Slide 30

Slide 30 text

The NY Times DESIGN SYSTEM DESIGN SYSTEM

Slide 31

Slide 31 text

DESIGN SYSTEM

Slide 32

Slide 32 text

Bohemian Ensemble DESIGN SYSTEM

Slide 33

Slide 33 text

DESIGN SYSTEM Bohemian Ensemble DESIGN SYSTEM

Slide 34

Slide 34 text

No content

Slide 35

Slide 35 text

Original Form

Slide 36

Slide 36 text

Original Form New Form

Slide 37

Slide 37 text

Original Form New Form

Slide 38

Slide 38 text

DESIGN SYSTEM Original Form New Form

Slide 39

Slide 39 text

Original Idea DESIGN SYSTEM Original Form New Form

Slide 40

Slide 40 text

Original Idea DESIGN SYSTEM Original Form DESIGN SYSTEM New Form

Slide 41

Slide 41 text

No content

Slide 42

Slide 42 text

Hand-Painted SIGNS

Slide 43

Slide 43 text

No content

Slide 44

Slide 44 text

No content

Slide 45

Slide 45 text

No content

Slide 46

Slide 46 text

No content

Slide 47

Slide 47 text

No content

Slide 48

Slide 48 text

blog.typekit.com/2011/07/19/shading-with-css-text-shadows

Slide 49

Slide 49 text

No content

Slide 50

Slide 50 text

No content

Slide 51

Slide 51 text

DESIGN SYSTEM

Slide 52

Slide 52 text

Idea DESIGN SYSTEM

Slide 53

Slide 53 text

Idea PAINTING WOOD/BRICK THE ELEMENTS

Slide 54

Slide 54 text

Eye-catching Hand lettering Shades/shapes Weathered PAINTING WOOD/BRICK THE ELEMENTS

Slide 55

Slide 55 text

Eye-catching Hand lettering Shades/shapes Weathered DESIGN SYSTEM

Slide 56

Slide 56 text

Eye-catching Hand lettering Shades/shapes Weathered DESIGN SYSTEM

Slide 57

Slide 57 text

Eye-catching Hand lettering Shades/shapes Weathered FONT-FACE TEXT-SHADOW MASK (WEBKIT)

Slide 58

Slide 58 text

No content

Slide 59

Slide 59 text

No content

Slide 60

Slide 60 text

@font-face

Slide 61

Slide 61 text

@font-face Web fonts – Working Draft Global Support – 92.11%

Slide 62

Slide 62 text

@font-face Web fonts – Working Draft Global Support – 92.11% caniuse.com

Slide 63

Slide 63 text

@font-face Web fonts – Working Draft Global Support – 92.11%

Slide 64

Slide 64 text

@font-face @font-face { font-family: 'my-family'; src: url('/url/of/font.woff'); style: normal; weight: 400; }

Slide 65

Slide 65 text

@font-face @font-face { font-family: 'my-family'; src: url('myfont-webfont.eot?#iefix') format('embedded-opentype'), url('myfont-webfont.woff') format('woff'), url('myfont-webfont.ttf') format('truetype'), url('myfont-webfont.svg#svgFontName') format('svg'); style: normal; weight: 400; }

Slide 66

Slide 66 text

@font-face try{Typekit.load();}catch(e){}

Slide 67

Slide 67 text

No content

Slide 68

Slide 68 text

from Veer from Underware

Slide 69

Slide 69 text

No content

Slide 70

Slide 70 text

No content

Slide 71

Slide 71 text

.sign h1 .name { transform: rotate(-12deg); } CSS3 Transform

Slide 72

Slide 72 text

No content

Slide 73

Slide 73 text

No content

Slide 74

Slide 74 text

... try{Typekit.load();}catch(e){} ...

Slide 75

Slide 75 text

No content

Slide 76

Slide 76 text

No content

Slide 77

Slide 77 text

.sign h1 .name { font: 400 normal 20em/1 cursive; } .sign h1 .welcome, .sign h2 { font: 400 normal 7em/1 sans-serif; }

Slide 78

Slide 78 text

.sign h1 .name { font: 400 normal 20em/1 “corner-store”, cursive; } .sign h1 .welcome, .sign h2 { font: 400 normal 7em/1 “bello-caps”, sans-serif; }

Slide 79

Slide 79 text

No content

Slide 80

Slide 80 text

No content

Slide 81

Slide 81 text

.sign h1 .name:first-letter { font-size: 1.2em; }

Slide 82

Slide 82 text

No content

Slide 83

Slide 83 text

No content

Slide 84

Slide 84 text

text-shadow

Slide 85

Slide 85 text

text-shadow text-shadow: 2px 4px 6px #000;

Slide 86

Slide 86 text

text-shadow text-shadow: 2px 4px 6px #000; text-shadow: 2px 4px 0 #000, 4px 8px 0 #fff, ...;

Slide 87

Slide 87 text

CSS3 Text-shadow – Working Draft Global Support – 61.42%

Slide 88

Slide 88 text

No content

Slide 89

Slide 89 text

No content

Slide 90

Slide 90 text

No content

Slide 91

Slide 91 text

PROGRESSIVE ENHANCEMENT

Slide 92

Slide 92 text

.sign h1 .name { text-shadow: -8px 8px 0 #b06955; }

Slide 93

Slide 93 text

.sign h1 .name { text-shadow: -8px 8px 0 #b06955; } Horizontal

Slide 94

Slide 94 text

.sign h1 .name { text-shadow: -8px 8px 0 #b06955; } Vertical

Slide 95

Slide 95 text

.sign h1 .name { text-shadow: -8px 8px 0 #b06955; } Blur

Slide 96

Slide 96 text

.sign h1 .name { text-shadow: -8px 8px 0 #b06955; } Color

Slide 97

Slide 97 text

No content

Slide 98

Slide 98 text

No content

Slide 99

Slide 99 text

.sign h1 .name { text-shadow: -3px 3px 0 #393431, -8px 8px 0 #b06955; }

Slide 100

Slide 100 text

No content

Slide 101

Slide 101 text

No content

Slide 102

Slide 102 text

.sign h1 .name { text-shadow: -3px 3px 0 #393431, 0 3px 0 #393431, -3px 0 0 #393431, -4px 4px 0 #b06955, -6px 6px 0 #b06955, -8px 8px 0 #b06955; }

Slide 103

Slide 103 text

No content

Slide 104

Slide 104 text

No content

Slide 105

Slide 105 text

No content

Slide 106

Slide 106 text

No content

Slide 107

Slide 107 text

No content

Slide 108

Slide 108 text

No content

Slide 109

Slide 109 text

No content

Slide 110

Slide 110 text

mask

Slide 111

Slide 111 text

mask mask: url(mask.png) no-repeat center top;

Slide 112

Slide 112 text

CSS3 Masks – Uno cial Global Support – 35.49%

Slide 113

Slide 113 text

mask mask: url(mask.png) no-repeat center top;

Slide 114

Slide 114 text

mask -webkit-mask: url(mask.png) no-repeat center top; mask: url(mask.png) no-repeat center top;

Slide 115

Slide 115 text

No content

Slide 116

Slide 116 text

Transparent Image

Slide 117

Slide 117 text

No content

Slide 118

Slide 118 text

.sign { background: #000 url(images/wood.png) 4.5em 0; }

Slide 119

Slide 119 text

No content

Slide 120

Slide 120 text

PROGRESSIVE ENHANCEMENT

Slide 121

Slide 121 text

No content

Slide 122

Slide 122 text

No content

Slide 123

Slide 123 text

.sign h1 { -webkit-mask: url(images/wood.png) 4.5em 0; mask: url(images/wood.png) 4.5em 0; } .sign h2 { -webkit-mask: url(images/wood.png) -9.32em -6em; mask: url(images/wood.png) -9.32em -6em; }

Slide 124

Slide 124 text

No content

Slide 125

Slide 125 text

No content

Slide 126

Slide 126 text

No content

Slide 127

Slide 127 text

Hand-painted sign

Slide 128

Slide 128 text

@font-face – hand-lettered look Hand-painted sign

Slide 129

Slide 129 text

@font-face – hand-lettered look text-shadow – sign painter’s shade Hand-painted sign

Slide 130

Slide 130 text

@font-face – hand-lettered look text-shadow – sign painter’s shade mask – weathered, wooden texture Hand-painted sign

Slide 131

Slide 131 text

No content

Slide 132

Slide 132 text

Wood Type Poster

Slide 133

Slide 133 text

No content

Slide 134

Slide 134 text

No content

Slide 135

Slide 135 text

No content

Slide 136

Slide 136 text

No content

Slide 137

Slide 137 text

No content

Slide 138

Slide 138 text

No content

Slide 139

Slide 139 text

No content

Slide 140

Slide 140 text

www.leodis.net/playbills

Slide 141

Slide 141 text

DESIGN SYSTEM

Slide 142

Slide 142 text

Idea DESIGN SYSTEM

Slide 143

Slide 143 text

Idea PRINTING PAPER/INK MOVEABLE TYPE

Slide 144

Slide 144 text

Overwhelming Typeface variety Hierarchy Full-width PRINTING PAPER/INK MOVEABLE TYPE

Slide 145

Slide 145 text

DESIGN SYSTEM Overwhelming Typeface variety Hierarchy Full-width

Slide 146

Slide 146 text

DESIGN SYSTEM Overwhelming Typeface variety Hierarchy Full-width

Slide 147

Slide 147 text

FONT-FACE TEXT-SHADOW RGBA COLOR PSEUDO-ELEMENTS Overwhelming Typeface variety Hierarchy Full-width

Slide 148

Slide 148 text

No content

Slide 149

Slide 149 text

No content

Slide 150

Slide 150 text

No content

Slide 151

Slide 151 text

@font-face

Slide 152

Slide 152 text

@font-face Many fonts File size

Slide 153

Slide 153 text

@font-face 144 Kb 6 fonts

Slide 154

Slide 154 text

from Barry Schwartz

Slide 155

Slide 155 text

from Veer from Wood Type Revival from Adobe

Slide 156

Slide 156 text

from Wood Type Revival

Slide 157

Slide 157 text

from Wood Type Revival

Slide 158

Slide 158 text

from Wood Type Revival

Slide 159

Slide 159 text

from Wood Type Revival

Slide 160

Slide 160 text

No content

Slide 161

Slide 161 text

rgba color

Slide 162

Slide 162 text

rgba color background: #000;

Slide 163

Slide 163 text

rgba color background: rgba(0, 0, 0, 1);

Slide 164

Slide 164 text

rgba color background: rgba(0, 0, 0, 0.5);

Slide 165

Slide 165 text

rgba color background: rgba(0, 0, 0, 0.5); color: rgba(0, 0, 0, 0.5); border: 1px solid rgba(0, 0, 0, 0.5); text-shadow: 2px 2px 0 rgba(0, 0, 0, 0.5); box-shadow: 2px 2px 0 rgba(0, 0, 0, 0.5);

Slide 166

Slide 166 text

CSS3 Colors – Recommendation Global Support – 72.95%

Slide 167

Slide 167 text

rgba color color: #999; color: rgba(0, 0, 0, 0.5);

Slide 168

Slide 168 text

rgba color color: #999; color: rgba(0, 0, 0, 0.5); PROGRESSIVE ENHANCEMENT

Slide 169

Slide 169 text

rgba color color: #999; color: rgba(0, 0, 0, 0.5);

Slide 170

Slide 170 text

No content

Slide 171

Slide 171 text

.para4 .condensed { color: #5d608f; }

Slide 172

Slide 172 text

.para4 .condensed { color: #5d608f; text-shadow: 0.02em 0.02em 0 rgba(217, 20, 43, 0.75); }

Slide 173

Slide 173 text

No content

Slide 174

Slide 174 text

No content

Slide 175

Slide 175 text

.para4 .condensed { color: #5d608f; color: rgba(45, 57, 128, 0.75); text-shadow: 0.02em 0.02em 0 rgba(217, 20, 43, 0.75); }

Slide 176

Slide 176 text

No content

Slide 177

Slide 177 text

No content

Slide 178

Slide 178 text

No content

Slide 179

Slide 179 text

No content

Slide 180

Slide 180 text

:before + content

Slide 181

Slide 181 text

:before + content h1:before { } h1:after { }

Test

Slide 182

Slide 182 text

:before + content h1:before { } h1:after { }

Test

Test

Slide 183

Slide 183 text

:before + content h1:before { content: "1"; } h1:after { content: "2"; }

Test

Test

Slide 184

Slide 184 text

:before + content h1:before { content: "1"; } h1:after { content: "2"; }

Test

1Test2

Slide 185

Slide 185 text

:before + content h1:before { content: attr(data-one); } h1:after { content: attr(data-two); }

Test

1Test2

Slide 186

Slide 186 text

CSS Generated content – Recommendation Global Support – 90.2%

Slide 187

Slide 187 text

No content

Slide 188

Slide 188 text

Greater Number

Slide 189

Slide 189 text

$(function() { $('.chroma').each(function() { $(this).attr('data-content', $(this).text()); }); });

Slide 190

Slide 190 text

No content

Slide 191

Slide 191 text

No content

Slide 192

Slide 192 text

.chroma:before { color: #999; content: attr(data-content); font-family: "delittle-chromatic-inlay"; }

Slide 193

Slide 193 text

No content

Slide 194

Slide 194 text

No content

Slide 195

Slide 195 text

.chroma { position: relative; } .chroma:before { color: #999; display: block; content: attr(data-content); font-family: "delittle-chromatic-inlay"; position: absolute; width: 100%; }

Slide 196

Slide 196 text

No content

Slide 197

Slide 197 text

No content

Slide 198

Slide 198 text

.chroma:before { color: #999; display: block; content: attr(data-content); font-family: "delittle-chromatic-inlay"; position: absolute; top: 0.065em; width: 100%; }

Slide 199

Slide 199 text

No content

Slide 200

Slide 200 text

No content

Slide 201

Slide 201 text

.para3 .chroma { color: #5d608f; color: rgba(45, 57, 128, 0.75); text-shadow: 0.04em 0.03em 0 rgba(199, 162, 12, 0.5); } .para3 .chroma:before { color: #dd434d; }

Slide 202

Slide 202 text

No content

Slide 203

Slide 203 text

No content

Slide 204

Slide 204 text

No content

Slide 205

Slide 205 text

No content

Slide 206

Slide 206 text

PROGRESSIVE ENHANCEMENT

Slide 207

Slide 207 text

No content

Slide 208

Slide 208 text

Wood type poster

Slide 209

Slide 209 text

@font-face – variety of quirky styles Wood type poster

Slide 210

Slide 210 text

@font-face – variety of quirky styles rgba color – texture, double-printing Wood type poster

Slide 211

Slide 211 text

@font-face – variety of quirky styles rgba color – texture, double-printing :before + content – chromatic type Wood type poster

Slide 212

Slide 212 text

No content

Slide 213

Slide 213 text

MAGAZINE Spread

Slide 214

Slide 214 text

No content

Slide 215

Slide 215 text

No content

Slide 216

Slide 216 text

No content

Slide 217

Slide 217 text

No content

Slide 218

Slide 218 text

No content

Slide 219

Slide 219 text

DESIGN SYSTEM

Slide 220

Slide 220 text

Idea DESIGN SYSTEM

Slide 221

Slide 221 text

Idea PRINTED BOOK PERIODICAL STANDARD SIZE

Slide 222

Slide 222 text

Elegance High-contrast type Photos / color Full use of page PRINTED BOOK PERIODICAL STANDARD SIZE

Slide 223

Slide 223 text

DESIGN SYSTEM Elegance High-contrast type Photos / color Full use of page

Slide 224

Slide 224 text

DESIGN SYSTEM Elegance High-contrast type Photos / color Full use of page

Slide 225

Slide 225 text

FONT-FACE COLUMN-COUNT BACKGROUND-SIZE RESPONSIVE Elegance High-contrast type Photos / color Full use of page

Slide 226

Slide 226 text

No content

Slide 227

Slide 227 text

No content

Slide 228

Slide 228 text

@font-face

Slide 229

Slide 229 text

from TypeTogether

Slide 230

Slide 230 text

from Phil’s Fonts / Darden

Slide 231

Slide 231 text

No content

Slide 232

Slide 232 text

responsive design

Slide 233

Slide 233 text

responsive design “The control which designers know in the print medium, and often desire in the web medium, is simply a function of the limitation of the printed page. We should embrace the fact that the web doesn’t have the same constraints, and design for this exibility.” John Allsopp, “A Dao of Web Design”

Slide 234

Slide 234 text

No content

Slide 235

Slide 235 text

No content

Slide 236

Slide 236 text

Fluid layout Flexible images Media queries

Slide 237

Slide 237 text

Fluid layout

Slide 238

Slide 238 text

Fluid layout Horizontal measurements in %

Slide 239

Slide 239 text

Fluid layout Horizontal measurements in % FitText.js for full-width heading

Slide 240

Slide 240 text

Fluid layout Horizontal measurements in % FitText.js for full-width heading $(function() { $('.heading h1').fitText(5.7) });

Slide 241

Slide 241 text

Fluid layout Horizontal measurements in % FitText.js for full-width heading Viewport meta tag for mobile devices

Slide 242

Slide 242 text

Fluid layout Horizontal measurements in % FitText.js for full-width heading Viewport meta tag for mobile devices

Slide 243

Slide 243 text

Flexible images

Slide 244

Slide 244 text

Flexible images Scaling background image using background-size

Slide 245

Slide 245 text

Flexible images Scaling background image using background-size html { background: #00a3b0 url(images/background.jpg) no-repeat top center; background-size: cover; }

Slide 246

Slide 246 text

Media queries

Slide 247

Slide 247 text

Media queries Overriding CSS properties in certain situations

Slide 248

Slide 248 text

Media queries Overriding CSS properties in certain situations @media screen and (max-width: 400px) { .heading h2 { font-size: 2em; } }

Slide 249

Slide 249 text

Media queries Overriding CSS properties in certain situations Choosing breakpoints

Slide 250

Slide 250 text

1024px breakpoint Before After

Slide 251

Slide 251 text

640px breakpoint Before / After

Slide 252

Slide 252 text

.text { -moz-column-count: 2; -webkit-column-count: 2; column-count: 2; margin: 0 40% 2em 5%; }

Slide 253

Slide 253 text

.text { -moz-column-count: 2; -webkit-column-count: 2; column-count: 2; margin: 0 40% 2em 5%; }

Slide 254

Slide 254 text

.text { -moz-column-count: 2; -webkit-column-count: 2; column-count: 2; margin: 0 40% 2em 5%; }

Slide 255

Slide 255 text

.text { -moz-column-count: 2; -webkit-column-count: 2; column-count: 2; margin: 0 40% 2em 5%; } @media screen and (max-width: 1024px) { .text { margin: 1em 5% 2em; } }

Slide 256

Slide 256 text

.text { -moz-column-count: 2; -webkit-column-count: 2; column-count: 2; margin: 0 40% 2em 5%; } @media screen and (max-width: 640px) { .text { -moz-column-count: 1; -webkit-column-count: 1; column-count: 1; } } @media screen and (max-width: 1024px) { .text { margin: 1em 5% 2em; } }

Slide 257

Slide 257 text

Magazine spread

Slide 258

Slide 258 text

@font-face – elegant, high-contrast Magazine spread

Slide 259

Slide 259 text

@font-face – elegant, high-contrast responsive design – adapt to canvas Magazine spread

Slide 260

Slide 260 text

No content

Slide 261

Slide 261 text

“How do I translate a CLASSIC LOOK into a web page?”

Slide 262

Slide 262 text

No content

Slide 263

Slide 263 text

Original Form New Form

Slide 264

Slide 264 text

Original Idea DESIGN SYSTEM Original Form DESIGN SYSTEM New Form

Slide 265

Slide 265 text

CSS3

Slide 266

Slide 266 text

CSS3 @font-face @media background-size :before/:after column-count rgba text-shadow transform

Slide 267

Slide 267 text

CSS3 @font-face @media background-size :before/:after column-count rgba text-shadow transform PROGRESSIVE ENHANCEMENT

Slide 268

Slide 268 text

CSS3 @font-face @media background-size :before/:after column-count rgba text-shadow transform

Slide 269

Slide 269 text

No content

Slide 270

Slide 270 text

Imitate a form

Slide 271

Slide 271 text

Imitate a form Translate an idea

Slide 272

Slide 272 text

Imitate a form Translate an idea Full use of medium

Slide 273

Slide 273 text

No content

Slide 274

Slide 274 text

is hiring!

Slide 275

Slide 275 text

is hiring! bit.ly/typekit-api-engineer

Slide 276

Slide 276 text

Get the LOOK [email protected] – seanmcb.com/sxsw2012 #SexyType @smcbride

Slide 277

Slide 277 text

Fashion 1 by Stephen Drake 1 Hey there by Petra Cross 2 Flickr Image Credits Soda Crackers by Lane Pearman 18 Hand-Made Signs in Baltimore by Colin Dunn 17 Brooklyn Circus SF by Damon Styer 19 The Phoenix Pub by Damon Styer 19 Quiet by Damon Styer 19 Far West Harvest by Damon Styer 20 Hand-Made Signs in Baltimore by Colin Dunn 24 Glyphs hunter by Camil Tulcan 59 The a Mano / Dean... by Nick Sherman 60 On the press by Nick Sherman 57 ????? by Nick Sherman 61 Moldy kiss by Nick Sherman 62 Hamilton's Wood Type... by Nick Sherman 63 Modern Honors Bound by Nick Sherman 63 1987 Vogue layout spread by Nate Bolt 95 Responsive Web Design by Jason Santa Maria 108 Moldy kiss by Nick Sherman 62