Maquetado con HTML y CSS

168
Maquetado Diseño de interfaces y maquetado web Manuel Razzari http://convistaalmar.com.ar http://creativecommons.org/licenses/by/2.5/ar/

description

Módulo 4 del Curso IxDA BA 2012: Introducción al diseño y maquetación de interfaces web. http://ixda.com.ar/?p=602 * Cómo se construye una página * Marcado semántico, accesibilidad * Uso apropiado de elementos más comunes . Listas, links, imágenes, encabezados . Elementos de bloque vs línea . Árbol de elementos, jerarquía * Doctype, validación * URLs, la web como red de recursos * CSS, separación de contenido y presentación * Clases y IDs, selectores semánticos, cascada * El modelo de caja, posicionamiento, elementos flotantes * Fuentes, font stacks, tamaños, tipografías básicas, font-face, licencias * Recorte de imágenes * Errores más comunes * Impacto en el posicionamiento en buscadores

Transcript of Maquetado con HTML y CSS

Page 1: Maquetado con HTML y CSS

MaquetadoDiseño de interfaces y maquetado web

Manuel Razzari http://convistaalmar.com.ar

http://creativecommons.org/licenses/by/2.5/ar/

Page 2: Maquetado con HTML y CSS

2

¿Qué es una página web?

Page 3: Maquetado con HTML y CSS

3

¿Qué es una página web?

Page 4: Maquetado con HTML y CSS

4

¿Qué es una página web?

Page 5: Maquetado con HTML y CSS

5

¿Qué es un tag?

HTMLMarkup language: lenguaje de marcado

Tag: etiqueta

Hola, <strong>que tal</strong>

Page 6: Maquetado con HTML y CSS

6

¿Qué es un tag?

Puedo poner una etiqueta adentro de otra.

<p>Hola, <strong>que tal</strong></p>

Page 7: Maquetado con HTML y CSS

7

¿Qué es un tag?

Toda etiqueta que se abre tiene que cerrarse.Siempre tiene que quedar una adentro de otra.

Bien:

<p>Hola, <strong>que tal</strong></p>

Mal:

<p>Hola, <strong>que tal</p></strong>

Page 8: Maquetado con HTML y CSS

8

Árbol de elementos

Page 9: Maquetado con HTML y CSS

9

Doctype

Nos dice que tipo de documento es y su versión.

Page 10: Maquetado con HTML y CSS

10

Head

Información acerca de la página.

Page 11: Maquetado con HTML y CSS

11

Title

Aparece en la barra de título y en los tabs.

Page 12: Maquetado con HTML y CSS

12

Title

Es el link principal en los resultados de búsqueda.

http://www.socialpatterns.com/search-engine-optimization/writing-better-titles/

Page 13: Maquetado con HTML y CSS

13

Title

http://www.deyalexander.com.au/publications/page-titles.html

Page 14: Maquetado con HTML y CSS

14

Body

Lo que se ve dentro de la ventana del navegador

Page 15: Maquetado con HTML y CSS

15

El validador

¿Cómo sé que lo estoy haciendo bien?

http://validator.w3.org

Nos asegura que:• Los tags están bien tipeados• Están correctamente anidados• No falta ningún elemento requerido• No hay errores de sintaxis

http://diveintomark.org/archives/2003/05/05/why_we_wont_help_you

Page 16: Maquetado con HTML y CSS

16

El validador

<p>Hola, <strong>que tal</p></strong>

Page 17: Maquetado con HTML y CSS

17

Links

HTMLMarkup Language

Page 18: Maquetado con HTML y CSS

18

Links

HTMLHyperText Markup Language

pagina1.html

pagina2.html

foto.jpg

etc.

Page 19: Maquetado con HTML y CSS

19

Links

Link entre dos páginas.a: ancla

href: referencia hipertextual

pagina1.html

http://glyphobet.net/blog/essay/206

Page 20: Maquetado con HTML y CSS

20

Links

Link entre dos páginas.a: ancla

href: referencia hipertextual

pagina1.html

http://glyphobet.net/blog/essay/206

Page 21: Maquetado con HTML y CSS

21

Links

Link entre dos páginas.a: ancla

href: referencia hipertextual

pagina1.html

http://glyphobet.net/blog/essay/206

Page 22: Maquetado con HTML y CSS

22

Links

Link entre dos páginas.a: ancla

href: referencia hipertextual

pagina2.htmlpagina1.html

http://glyphobet.net/blog/essay/206

Page 23: Maquetado con HTML y CSS

23

Atributos

<a href="pagina2.html">ir a página 2</a>

nombre valor

Page 24: Maquetado con HTML y CSS

24

URLs

URL absoluta:<a href="http://www.lanacion.com.ar/espectaculos/">Espectáculos</a>

Page 25: Maquetado con HTML y CSS

25

URLs

URLs relativas<a href="pagina2.html">ir a página 2</a><a href="fotos/pagina2.html">ver foto</a>

Page 26: Maquetado con HTML y CSS

26

No sólo linkear a otro recurso, sino incluirlo.<a href="fotos/foto.jpg">ver foto</a>

Imágenes

Page 27: Maquetado con HTML y CSS

27

No sólo linkear a otro recurso, sino incluirlo.<img src="fotos/foto.jpg" width="100" height="150" alt="Puesta de sol" />

Imágenes

Page 28: Maquetado con HTML y CSS

28

<img src="fotos/foto.jpg" width="100" height="150" alt="Puesta de sol" />

Imágenes

Page 29: Maquetado con HTML y CSS

29

<img src="fotos/foto.jpg" width="100" height="150" alt="Puesta de sol" />

Imágenes

Tag de imagen

Page 30: Maquetado con HTML y CSS

30

<img src="fotos/foto.jpg" width="100" height="150" alt="Puesta de sol" />

Imágenes

Tag de imagen

URL de la imagen(gif, jpg, png)

Page 31: Maquetado con HTML y CSS

31

<img src="fotos/foto.jpg" width="100" height="150" alt="Puesta de sol" />

Imágenes

Tag de imagen

URL de la imagen(gif, jpg, png)

Ancho y alto

Page 32: Maquetado con HTML y CSS

32

<img src="fotos/foto.jpg" width="100" height="150" alt="Puesta de sol" />

Imágenes

Tag de imagen

URL de la imagen(gif, jpg, png)

Texto alternativoAncho y alto

Page 33: Maquetado con HTML y CSS

33

<img src="fotos/foto.jpg" width="100" height="150" alt="Puesta de sol" />

Imágenes

Tag de imagen

URL de la imagen(gif, jpg, png)

Texto alternativoAncho y alto Cierre

Page 34: Maquetado con HTML y CSS

34

Imágenes

¿Cómo ve Google una imagen?

Page 35: Maquetado con HTML y CSS

35

Imágenes

¿Cómo ve Google una imagen?

No entiende nada.

Page 36: Maquetado con HTML y CSS

36

Imágenes

Page 37: Maquetado con HTML y CSS

37

Imágenes

Page 38: Maquetado con HTML y CSS

38

Imágenes

Page 39: Maquetado con HTML y CSS

39

Imágenes

http://tinyurl.com/alt-decision-treehttp://webaim.org/techniques/alttext/

Page 40: Maquetado con HTML y CSS

40

Imágenes

Decoraciónalt=""Mejor: CSS!

http://tinyurl.com/alt-decision-treehttp://webaim.org/techniques/alttext/

Page 41: Maquetado con HTML y CSS

41

Imágenes

Contenido(informacióno funcional)alt="texto breve"

Decoraciónalt=""Mejor: CSS!

http://tinyurl.com/alt-decision-treehttp://webaim.org/techniques/alttext/

Page 42: Maquetado con HTML y CSS

42

Imágenes

Contenido(informacióno funcional)alt="texto breve"

Decoraciónalt=""Mejor: CSS!

Informaciónredundantealt=""

http://tinyurl.com/alt-decision-treehttp://webaim.org/techniques/alttext/

Page 43: Maquetado con HTML y CSS

43

Imágenes

Elemento con contenido<p>Tags con contenido adentro</p>

Elemento sin contenido<img src="fotos/foto.jpg" width="100" height="150" alt="Puesta de sol" />

Al no tener texto, ni otro elemento adentro, el elemento se cierra solo.

<tag />

http://www.w3.org/TR/xhtml-media-types/#C_2

Page 44: Maquetado con HTML y CSS

44

Tags más comunes●p●img●a●h1, h2, hn…●div ●ul, ol, li●strong, em, b, i●span●link●head, title, body

a abbr address area article aside audio b base bb bdo blockquote body br button canvas caption cite code col colgroup command datagrid datalist dd del details dialog dfn div dl dt em embed eventsource fieldset figure footer form h1 h2 h3 h4 h5 h6 head header hr html i iframe img input ins kbd label legend li link mark map menu meta meter nav noscript object ol optgroup option output p param pre progress q rp rt samp script section select small source span strong style sub sup table tbody td textarea tfoot th thead time title tr ul var video

Page 45: Maquetado con HTML y CSS

45

Encabezados

Page 46: Maquetado con HTML y CSS

46

Encabezados

Page 47: Maquetado con HTML y CSS

47

Encabezados

Page 48: Maquetado con HTML y CSS

48

Encabezados

http://www.456bereastreet.com/archive/200901/headings_heading_hierarchy_and_document_outlines/

Page 49: Maquetado con HTML y CSS

49

Encabezados

http://tinyurl.com/3vlphez

Page 50: Maquetado con HTML y CSS

50

Encabezados

!!!

http://tinyurl.com/3vlphez

Page 51: Maquetado con HTML y CSS

51

Encabezados

Generación automática de índice

http://fuelyourcoding.com/scripts/toc/

Page 52: Maquetado con HTML y CSS

52

Encabezados

http://www.youtube.com/watch?v=AmUPhEVWu_E

Page 53: Maquetado con HTML y CSS

53

Encabezados

:-(

http://www.viaresto.clarin.com/

Page 54: Maquetado con HTML y CSS

54

Saltos de línea

Page 55: Maquetado con HTML y CSS

55

Listas

Page 56: Maquetado con HTML y CSS

56

Listas

Viñetas con imágenes

Page 57: Maquetado con HTML y CSS

57

Listas

Lista con links: navegación

http://css.maxdesign.com.au/

Page 58: Maquetado con HTML y CSS

58

Listas

Menúes, tabs

http://www.alistapart.com/articles/taminglists/, http://www.alistapart.com/articles/slidingdoors/

Page 59: Maquetado con HTML y CSS

59

Listas anidadas

http://www.htmldog.com/articles/suckerfish/

Page 60: Maquetado con HTML y CSS

60

Listas

http://www.lanacion.com.ar

Page 61: Maquetado con HTML y CSS

61

Listas

http://www.lanacion.com.ar

Page 62: Maquetado con HTML y CSS

62

Listas

[...]

http://www.lanacion.com.ar

Page 63: Maquetado con HTML y CSS

63

Listas

<ul>Unordered list.

<ol>Ordered list.

http://javirecetas.com/bizcocho-de-vainilla

Page 64: Maquetado con HTML y CSS

64

Listas<ul> <li>Esto</li> <li>Es</li> <li>Bueno</li></ul>

<ol> <li>También</li> <li>Bueno</li> <li>Esto</li></ol>

* Esto<br />* No<br />* Está<br />* Bien<br />

1. Esto<br />2. Mucho<br />3. Menos<br />

Page 65: Maquetado con HTML y CSS

65

Punto punto punto

http://edant.clarin.com/diario/2004/05/03/um/m-752951.htm

Page 66: Maquetado con HTML y CSS

66

Punto punto punto

<span class=”pt2”>········· ·························· ··························· ·····················</span>

http://edant.clarin.com/diario/2004/05/03/um/m-752951.htm

Page 67: Maquetado con HTML y CSS

67

Punto punto punto

<span class=”pt2”>········· ·························· ··························· ·····················</span>

.botones {border-bottom: 1px dotted #969696;}

http://edant.clarin.com/diario/2004/05/03/um/m-752951.htm

Page 68: Maquetado con HTML y CSS

68

Setenta mil pesos

https://github.com/mercadolibre/chico/issues/632

Page 69: Maquetado con HTML y CSS

69

Énfasis

Fragmentos importantes<p><strong>¡Urgente!</strong> Hoy se agotan los cupos.</p>

Cambio de tono, afecta significado.<p>“Llamá un doctor <em>ahora</em>”</p>

Destaque visual, no necesariamente importante<p><b>Sí, pero quién nos curará</b> del fuego sordo,

del fuego sin color que corre al anochecer...</p>

Fragmentos en otro idioma, términos técnicos.<p>¡Me pareció ver un lindo <i>felis silvestris catus</i>!</p>

http://html5doctor.com/i-b-em-strong-element/

Page 70: Maquetado con HTML y CSS

70

Etiquetas genéricas

<div>...</div>: contenedor genérico

Page 71: Maquetado con HTML y CSS

71

Etiquetas genéricas

<div>...</div>: contenedor genérico

Page 72: Maquetado con HTML y CSS

72

Etiquetas genéricas

<div>...</div>: contenedor genérico

Page 73: Maquetado con HTML y CSS

73

Etiquetas genéricas

<div>...</div>: contenedor genérico

Page 74: Maquetado con HTML y CSS

74

Etiquetas genéricas

<div>...</div>: contenedor genérico

Page 75: Maquetado con HTML y CSS

75

Etiquetas genéricas

<span>...</span>: fragmento genérico<p>José López, abogado.

Tel: <span class="tel">54 11 50227763</span></p>

José López, abogado.

Tel: ☎ 54 11 50227763

Page 76: Maquetado con HTML y CSS

76

Etiquetas genéricas

<span>...</span>: fragmento genérico<p>José López, abogado.

Tel: <span class="tel">54 11 50227763</span></p>

José López, abogado.

Tel: ☎ 54 11 50227763

<p>José López, abogado.

Tel: <span class="tel"> <span class="type">Home</span> 54 11 50227763 </span></p>

José López, abogado.

Tel: ⌂ 54 11 50227763

Page 77: Maquetado con HTML y CSS

77

Beneficios del marcado semántico

●SEO●Accesibilidad●Diseño cacheable●Future proof!

Hace posible●Rediseños más rápidos●Responsive design●Progressive enhancement

Page 78: Maquetado con HTML y CSS

78

¡El HTML ganará!

● Web apps● ChromeOS● Boot to Gecko● HTML5 en Windows 8● Mac OS Dashboard apps● iPad, ePub● Apache Cordova (PhoneGap)

http://platform.html5.org/

Page 79: Maquetado con HTML y CSS

79

La plataforma Web

http://platform.html5.org/

Page 80: Maquetado con HTML y CSS

80

CSS

Hojas de estilo en cascada.

Se complementan con el HTML,describiendo el diseño visual de una página.

http://www.popandshorty.bigcartel.com/product/you-are-the-css-to-my-html-button

Page 81: Maquetado con HTML y CSS

81

CSS Zen Garden

http://www.mezzoblue.com/zengarden/alldesigns/

Page 82: Maquetado con HTML y CSS

82

Múltiples medios

http://www.raoulwallenberg.net/

Page 83: Maquetado con HTML y CSS

83

Múltiples dispositivos

http://www.alistapart.com/articles/responsive-web-design/

Page 84: Maquetado con HTML y CSS

84

Incluir el CSS

Elemento link<link rel="stylesheet" href="css/style.css" />

Page 85: Maquetado con HTML y CSS

85

Incluir el CSS

Elemento link<link rel="stylesheet" href="css/style.css" />

Elemento link<link rel="stylesheet" href="css/style.css" />

Print CSS<link rel="stylesheet" href="css/style.css" media="print" />

Media queries - “responsive design”<link rel="stylesheet" href="css/720.css" media="screen and (min-width: 720px)" />

Page 86: Maquetado con HTML y CSS

86

HTML base

Maquetado de ejemplo en http://pub.cvam.com.ar/ixda/2011/maquetado

Page 87: Maquetado con HTML y CSS

87

Page 88: Maquetado con HTML y CSS

88

Selectores

Redefinir tags de HTML

h1 {color: #249999;}

a {color: #0071BC;}

Page 89: Maquetado con HTML y CSS

89

Selectores

Redefinir tags de HTML

h1 {color: #249999;}

a {color: #0071BC;}

Page 90: Maquetado con HTML y CSS

90

Selectores

Todo se puede cambiar

<p>Para diseñar interfaces web <b>efectivas, atractivas, y usables</b> Inicio...</p>

Page 91: Maquetado con HTML y CSS

91

Selectores

Todo se puede cambiar

<p>Para diseñar interfaces web <b>efectivas, atractivas, y usables</b> Inicio...</p>

b {font-weight: normal;background: #FFFF99;}

Page 92: Maquetado con HTML y CSS

92

Selectores

Class

Para botones y similares, no me sirve pegarle a todos los <a>!

a {color: #FFFFFF;background: #637580;}

Page 93: Maquetado con HTML y CSS

93

Selectores

Class

Class me permite agrupar por tipo.

.button {color: #FFFFFF;background: #637580;}

<a class="button">Ver posts anteriores</a>

Page 94: Maquetado con HTML y CSS

94

Selectores

Clases semánticos, no descriptivos

.gris_chico {color: #CCCCCC;font-size: 80%;}

.fecha {color: #CCCCCC;font-size: 80%;}

Page 95: Maquetado con HTML y CSS

95

Selectores

ID

Un elemento que es único en la página.

#intro {color: #FFFFFF;background: #28DBD5;}

<p id="intro">IxDA es la Asociación de Diseño de Interacción. Somos una red global dedicada a la práctica profesional...<a href="info.html">Ver más</a>

</p>

Page 96: Maquetado con HTML y CSS

96

Selectores

ID

Page 97: Maquetado con HTML y CSS

97

Reglas de CSS

Anatomía de una regla de CSS.

selector {atributo: valor;}

Page 98: Maquetado con HTML y CSS

98

Múltiples selectores

Una regla puede tener más de un selector.

.button {background: #586875;}

#footer {background: #586875;}

Page 99: Maquetado con HTML y CSS

99

Múltiples selectores

Una regla puede tener más de un selector.

.button {background: #586875;}

#footer {background: #586875;}

.button,#footer {

background: #586875;}

separados por comas

Page 100: Maquetado con HTML y CSS

100

Múltiples selectores

Una regla puede tener más de un selector.

.button {background: #586875;}

#footer {background: #586875;}

.button,#footer {

background: #586875;}

separados por comas.button,#footer {

background: #586875;}

.button {text-transform: uppercase;}

Page 101: Maquetado con HTML y CSS

101

Modelo de caja

http://www.redmelon.net/tstme/box_model/

Page 102: Maquetado con HTML y CSS

102

Modelo de caja#intro { … }

Page 103: Maquetado con HTML y CSS

103

Bordesborder: 1px solid #24BCB7;

Page 104: Maquetado con HTML y CSS

104

Márgenesmargin: 1em;

Page 105: Maquetado con HTML y CSS

105

Márgenesmargin: 1em;

Page 106: Maquetado con HTML y CSS

106

Márgenesmargin: 0 0 1em 0;

Page 107: Maquetado con HTML y CSS

107

Color de fondobackground: #28DBD5;

Page 108: Maquetado con HTML y CSS

108

Color de fondobackground: #28DBD5;

Page 109: Maquetado con HTML y CSS

109

Rellenopadding: 10px;

Page 110: Maquetado con HTML y CSS

110

Rellenopadding: 10px 240px 10px 10px;

top right bottom left “trouble”

Page 111: Maquetado con HTML y CSS

111

Rellenopadding: 10px 240px 10px 10px;

top right bottom left “trouble”

Page 112: Maquetado con HTML y CSS

112

Imagen de fondobackground: #28DBD5 url(../img/intro.gif);

intro.gif

Page 113: Maquetado con HTML y CSS

113

Imagen de fondobackground: #28DBD5 url(../img/intro.gif);

intro.gif

Page 114: Maquetado con HTML y CSS

114

Fondo repetidobackground: #28DBD5 url(../img/intro.gif) no-repeat;

opciones: repeat, repeat-x, repeat-y

Page 115: Maquetado con HTML y CSS

115

Posición del fondobackground: #28DBD5 url(../img/intro.gif) no-repeat 350px -35px;

left top

Page 116: Maquetado con HTML y CSS

116

Bloque vs Línea

<p>Para diseñar interfaces web <b>efectivas, atractivas, y usables</b>! Inicio: Miércoles 1 de junio...</p>

<p>Horario: de 19 a 22 hs.</p>

http://webdesignfromscratch.com/html-css/css-block-and-inline/

Page 117: Maquetado con HTML y CSS

117

Bloque vs Línea

<p>Para diseñar interfaces web <b>efectivas, atractivas, y usables</b>! Inicio: Miércoles 1 de junio...</p>

<p>Horario: de 19 a 22 hs.</p>

Elemento en línea

http://webdesignfromscratch.com/html-css/css-block-and-inline/

Page 118: Maquetado con HTML y CSS

118

Bloque vs Línea

<p>Para diseñar interfaces web <b>efectivas, atractivas, y usables</b>! Inicio: Miércoles 1 de junio...</p>

<p>Horario: de 19 a 22 hs.</p>

Elemento en línea

Elemento de bloque

http://webdesignfromscratch.com/html-css/css-block-and-inline/

Page 119: Maquetado con HTML y CSS

119

Elementos flotantes

<img src="float.jpg" alt="Taza" />

<p>Vestibulum ut magna...</p>

http://css.maxdesign.com.au/floatutorial/

Page 120: Maquetado con HTML y CSS

120

Elementos flotantes

<img src="float.jpg" alt="Taza" />

<p>Vestibulum ut magna...</p>

img {float: left;width: 150px;}

http://css.maxdesign.com.au/floatutorial/

Page 121: Maquetado con HTML y CSS

121

Elementos flotantes

<img src="float.jpg" alt="Taza" />

<p>Vestibulum ut magna...</p>

img {float: left;width: 150px;}

p {float: left;width: 150px;}

http://css.maxdesign.com.au/floatutorial/

Page 122: Maquetado con HTML y CSS

122

<div id="main">...</div><div id="sidebar">...</div><div id="footer">...</div>

Page 123: Maquetado con HTML y CSS

123

#main {...}

#sidebar {...}

#footer {...}

Page 124: Maquetado con HTML y CSS

124

#main {float: left;}

#sidebar {float: left;}

#footer {...}

Page 125: Maquetado con HTML y CSS

125

#main {float: left;}

#sidebar {float: left;}

#footer {clear: both;}

Page 126: Maquetado con HTML y CSS

126

#main {float: left;margin-right: 55px;}

#sidebar {float: left;}

#footer {clear: both;}

Page 127: Maquetado con HTML y CSS

127

Técnica de “faux columns”

http://www.alistapart.com/articles/fauxcolumns/

Page 128: Maquetado con HTML y CSS

128

Técnica de “faux columns”

#sidebar {background: #f2f2f2;}

:(

http://www.alistapart.com/articles/fauxcolumns/

Page 129: Maquetado con HTML y CSS

129

Técnica de “faux columns”

<div id="content"><div id="main">...</div><div id="sidebar">...</div><div id="footer">...</div>

</div>

wrapper

http://www.alistapart.com/articles/fauxcolumns/

Page 130: Maquetado con HTML y CSS

130

Técnica de “faux columns”

<div id="content"><div id="main">...</div><div id="sidebar">...</div><div id="footer">...</div>

</div>

content.gif

#content {background: url(../img/content.gif);}

wrapper

http://www.alistapart.com/articles/fauxcolumns/

Page 131: Maquetado con HTML y CSS

131

Clear usando overflow

#footer {clear: both;}

<div id="content"><div id="main">...</div><div id="sidebar">...</div><div id="footer">...</div>

</div>

http://www.quirksmode.org/css/clearing.html

Page 132: Maquetado con HTML y CSS

132

Clear usando overflow

<div id="content"><div id="main">...</div><div id="sidebar">...</div><div id="footer">...</div>

</div>

Sin el footer, el wrapper se colapsa, porque los floats no están en el flujo normal del documento.

http://www.quirksmode.org/css/clearing.html

Page 133: Maquetado con HTML y CSS

133

Clear usando overflow

<div id="content"><div id="main">...</div><div id="sidebar">...</div>

</div>

#content {overflow: auto;width: 100%;}

O bien hidden

http://www.quirksmode.org/css/clearing.html

Page 134: Maquetado con HTML y CSS

134

Posicionamiento

Page 135: Maquetado con HTML y CSS

135

Relativo

#intro_more {position: relative;}

Page 136: Maquetado con HTML y CSS

136

Relativo

#intro_more {position: relative;top: 40px;left: -50px;}

Page 137: Maquetado con HTML y CSS

137

Absoluto

#intro_more {position: absolute;top: 0;left: 0;}

Page 138: Maquetado con HTML y CSS

138

Absoluto

#intro_more {position: absolute;top: 0;left: 0;}

#intro {position: relative;}

Page 139: Maquetado con HTML y CSS

139

Absoluto

#intro_more {position: absolute;top: 0;left: 0;}

#intro {position: relative;}

#intro_more {position: absolute;bottom: 12px;right: 20px;}

Page 140: Maquetado con HTML y CSS

140

Fijo

#intro_more {position: fixed;bottom: 12px;right: 20px;}

Page 141: Maquetado con HTML y CSS

141

Fijo

#intro_more {position: fixed;bottom: 12px;right: 20px;}

Page 142: Maquetado con HTML y CSS

142

Fijo

#intro_more {position: fixed;bottom: 12px;right: 20px;}

Page 143: Maquetado con HTML y CSS

143

La cascada

Ante dos selectores iguales, el último tiene prioridad: pisa al anterior....

h2 {color: #ff0000;}

...

h2 {color: #249898;}

...

Page 144: Maquetado con HTML y CSS

144

La cascada

Muchas propiedades se heredan de los elementos contenedores.h2 {

font-family: Arial;}

p {font-family: Arial;}

.fecha {font-family: Arial;}

Page 145: Maquetado con HTML y CSS

145

La cascada

Muchas propiedades se heredan de los elementos contenedores.h2 {

font-family: Arial;}

p {font-family: Arial;}

.fecha {font-family: Arial;}

body {font-family: Arial;}

Page 146: Maquetado con HTML y CSS

146

La cascada

Cuando algo se repite, generalizar..texto {

font-family: Arial;}

<p class="texto">Loren ipsum…</p><p class="texto">Dolor sit amet…</p><p class="texto">Consectetur adipiscing…</p>

Page 147: Maquetado con HTML y CSS

147

La cascada

Cuando algo se repite, generalizar..texto {

font-family: Arial;}

<p class="texto">Loren ipsum…</p><p class="texto">Dolor sit amet…</p><p class="texto">Consectetur adipiscing…</p>

<div class="texto"><p>Loren ipsum…</p><p>Dolor sit amet…</p><p>Consectetur adipiscing…</p>

</div>

Page 148: Maquetado con HTML y CSS

148

La cascada

Cuando algo se repite, generalizar.

Page 149: Maquetado con HTML y CSS

149

La cascada

Cuando algo se repite, generalizar.

Page 150: Maquetado con HTML y CSS

150

La cascada

Especificidad, selectores contextuales.a {

font-family: Arial;color: blue;}

#mainMenu a {color: red;

background: url("../img/mainmenu.gif") repeat-x;

border: 1px solid #D7D8D9; display: block; padding: 0 14px; text-decoration: none;

}

http://librosweb.es/css/capitulo2/selectores_basicos.html

Page 151: Maquetado con HTML y CSS

151

Tamaño de tipografías

body {font-size: 13px;*font-size: small; /* IE <= 7 */}

h2 {font-size: 160%;}

p {/* nada! hereda de body*/}

.fecha {font-size: 80%;}

http://developer.yahoo.com/yui/3/examples/cssfonts/cssfonts-size.html

Page 152: Maquetado con HTML y CSS

152

Pila de tipografías

“Font stack”

body {font-family: Cambria, Georgia, Times, “Times New Roman”, serif;} Cambria

Georgia Times

Page 153: Maquetado con HTML y CSS

153

¿Qué tipografías puedo usar?

http://www.codestyle.org/css/font-family/

Page 154: Maquetado con HTML y CSS

154

¿Qué tipografías puedo usar?

¡Cualquiera!Elegir una que tenga licencia @font-face.

● http://Typekit.com (Din, Futura, Meta, Trajan, Dax)● http://Webfonts.fonts.com (Helvetica, Frutiger, Univers!)● http://Webtype.com (Interstate, Gill Sans)● http://Fontsquirrel.com (open source / free / custom)● http://Google.com/webfonts (open source)

Page 155: Maquetado con HTML y CSS

155

Mejora progresiva

El contenido, siempre accesible.

http://tinyurl.com/653gfd7

Page 156: Maquetado con HTML y CSS

156

Esto no es un link<a id="ToppageUC1_Mainmenubuild2_BemestingButton1_Lin kButton1" class="MenuButton" href="javascript:__doPostBack('ToppageUC1$Mainmenu build2$BemestingButton1$LinkButton1','')">Inicio</a>

http://slideshare.net/pazguille/estndares-web-con-chico-ui, https://twitter.com/danwrong/status/205300456547823616

Page 157: Maquetado con HTML y CSS

157

Esto no es un link<a id="ToppageUC1_Mainmenubuild2_BemestingButton1_Lin kButton1" class="MenuButton" href="javascript:__doPostBack('ToppageUC1$Mainmenu build2$BemestingButton1$LinkButton1','')">Inicio</a>

http://slideshare.net/pazguille/estndares-web-con-chico-ui, https://twitter.com/danwrong/status/205300456547823616

<p id="rep">Ver reputación</p><script>$("#rep").bind("click", function () { window.location = "http://ejemplo.com"; });</script>

Page 158: Maquetado con HTML y CSS

158

Esto no es un link<a id="ToppageUC1_Mainmenubuild2_BemestingButton1_Lin kButton1" class="MenuButton" href="javascript:__doPostBack('ToppageUC1$Mainmenu build2$BemestingButton1$LinkButton1','')">Inicio</a>

http://slideshare.net/pazguille/estndares-web-con-chico-ui, https://twitter.com/danwrong/status/205300456547823616

<a href="https://twitter.com/#!mrazzari/status/205322525339693057">

<p id="rep">Ver reputación</p><script>$("#rep").bind("click", function () { window.location = "http://ejemplo.com"; });</script>

Page 159: Maquetado con HTML y CSS

159

Esto no es un link<a id="ToppageUC1_Mainmenubuild2_BemestingButton1_Lin kButton1" class="MenuButton" href="javascript:__doPostBack('ToppageUC1$Mainmenu build2$BemestingButton1$LinkButton1','')">Inicio</a>

http://slideshare.net/pazguille/estndares-web-con-chico-ui, https://twitter.com/danwrong/status/205300456547823616

<a href="https://twitter.com/#!mrazzari/status/205322525339693057">

<p id="rep">Ver reputación</p><script>$("#rep").bind("click", function () { window.location = "http://ejemplo.com"; });</script>

Page 160: Maquetado con HTML y CSS

160

Mejora progresiva<a href="javascript:window.open('index.htm','popup','width=300,height=400');">

Abrir popup muy mal</a>

<a href="#" onClick="window.open('index.htm','popup','width=300,height=400')">También mal

</a>

Está roto para:● Usuarios sin JS● Buscadores● Agregar a favoritos● Abrir en otro tab / ventana● Ver link en barra de estado● Verificadores de links

http://www.nosolousabilidad.com/articulos/popups_javascript.htm

Page 161: Maquetado con HTML y CSS

161

Mejora progresiva

<a href="index.htm" target="popup" onClick="window.open('index.htm', 'popup', 'width=300,height=400'); return false;">

Un poco mejor</a>

http://www.nosolousabilidad.com/articulos/popups_javascript.htm

Page 162: Maquetado con HTML y CSS

162

Mejora progresiva

<a href="index.htm" target="popup" onClick="window.open('index.htm', 'popup', 'width=300,height=400'); return false;">

Un poco mejor</a>

<a href="index.htm" target="popup" onClick="window.open(this.href, this.target, 'width=300,height=400'); return false;">

Mucho mejor!</a>

http://www.nosolousabilidad.com/articulos/popups_javascript.htm

Page 163: Maquetado con HTML y CSS

163

Mejora progresiva

<a href="index.html" class="pop-me-up">Mejorísimo</a>

<script src="//ajax.googleapis.com/ajax/libs/jquery/1.5.1/jquery.js"></script>

<script src="js/funciones.js"></script>

// Funciones.jsjQuery(function($) { $('.pop-me-up').click(function(e){ window.open($(this).attr("href"), "popup", "width=300,height=400"); return false; });});

Page 164: Maquetado con HTML y CSS

164

Mejora progresiva

Aceptar las diferencias.

Navegador moderno

vs.

Internet Explorer 7

Page 165: Maquetado con HTML y CSS

165

Mejora progresiva

Polyfills: JavaScripts que dan funcionalidad a navegadores que no la soportan nativamente.

Ejemplo: CSS3 multi column

https://github.com/Modernizr/Modernizr/wiki/HTML5-Cross-browser-Polyfills

Page 166: Maquetado con HTML y CSS

166

Como pedir ayuda

● Validar el código

● Lista de correo: http://ovillo.org

● Enviar un link a la página con problemas (es mejor que pegar código en un mail). “Testcase”.

● Google! (Alguien ya tuvo tu mismo problema)

● FAQshttp://mezzoblue.com/css/cribsheethttp://css-discuss.incutio.com

Page 167: Maquetado con HTML y CSS

167

Como evaluar qué es bueno

Antes de copiar de la web un fragmento de código, script o plugin...● Validarlo● Testearlo en nuestros browsers objetivo● CSS y JS no entremezclados con el HTML● Escalable (text zoom)● Usa el framework o librería que ya usás● Si hay <a>, que apunten a una URL● Puedo tabular de un link a otro● El código parece prolijo (comentado, identado)

Page 168: Maquetado con HTML y CSS

168

Herramientas

● Firebughttp://getfirebug.com/whatisfirebug

● Chrome Dev Toolshttps://developers.google.com/chrome-developer-tools/

● Web developer extensionhttps://addons.mozilla.org/en-US/firefox/addon/web-developer/

● Screen calipershttp://www.iconico.com/caliper/skins.aspx

● IE Collectionhttp://utilu.com/IECollection/

● SelectOraclehttp://tux.theopalgroup.com/cgi-bin/css3explainer/selectoracle.py