Página personal del Curso de Introducción al Desarrollo Web, una iniciativa de Google que cuenta con la certificación de la Universidad de Alicante

18 de julio de 2015

HTML Imágenes



En el contenido del siguiente vídeo verás:
  • El concepto de hipermedia, la etiqueta img, sus atributos obligatorios (src, alt), opcionales (width, height, longdesc, ismap, usemap) y los atributos desaconsejados.
  • Las características de los formatos gráficos (GIF, JPG/JPEG, PNG), los mapas de imagen y su uso (map, area, atributos usemap e ismap).


Las imágenes son el elemento principal que confiere a la Web su carácter de hipermedia, es decir, su capacidad de integrar en un único soporte, la página web, contenidos muy distintos como texto, imagen, vídeo, audio y otros.

En algunos sitios web el uso de imágenes es escaso, y su ausencia no plantea ningún problema.

En otros sitios web, cuando las imágenes no se visualizan, pueden aparecer algunos problemas de uso en la página.

Sin embargo, en otros sitios web, la ausencia de imágenes puede hacer que el sitio web sea totalmente inútil.

La etiqueta para insertar una imagen en HTML es <img>. Si consultamos la documentación oficial, de HTML 4 y de HTML5 del World Wide Web Consortium, el , veremos que no ha habido grandes cambios en la sintaxis de esta etiqueta. 

Ejemplos de etiqueta <img> en HTML5


La etiqueta <img> tiene dos atributos obligatorios, src y alt.

El atributo src indica la ruta en la que se encuentra la imagen, mientras que el atributo alt es el texto alternativo que se debe visualizar cuando la imagen aún no se ha cargado o no se puede cargar por diversas razones, como puede ser que no exista o que su formato no sea válido. El atributo alt es muy importante para la accesibilidad de una página web.


La etiqueta <img> posee los siguientes atributos opcionales

width y height para definir las dimensiones de la imagen, el ancho y el alto.
longdesc para indicar la URL de una página en la que se proporciona una descripción larga de la imagen, este atributo también es muy importante para la accesibilidad de una página, y por último, 
ismap y usemap para definir mapas de imagen.



Los mapas de imagen se pueden procesar en el lado del cliente o en el lado del servidor.

Un mapa de imagen en el lado del cliente se define con dos etiquetas de HTML:

Con la etiqueta <map> se define el mapa de imagen, con sus distintas zonas activas. El mapa de imagen debe tener un nombre, ya que ese nombre se emplea en la etiqueta <img> para relacionar el mapa de imagen con la imagen correspondiente.

Con la etiqueta <usemap> para indicar el nombre del mapa que se quiere utilizar.



Cada zona activa o sensible del mapa de imagen se define mediante una figura geométrica.

Existen tres tipos de figuras geométricas que se pueden emplear.

Se definen con la etiqueta <area>, que posee los siguientes atributos

shape 
para indicar el tipo de figura geométrica, 
coords 
para indicar las coordenadas de la figura geométrica, 
href 
para indicar la URL del destino del enlace y 
alt 
para definir el texto alternativo que representa la figura geométrica en el caso de que no se pueda visualizar la imagen. Recuerda que este atributo alt ayuda a mejorar la accesibilidad de la página web.



El tipo de figura geométrica “rect” define un rectángulo que está definido por las coordenadas (x, y) de su esquina superior izquierda y las coordenadas (x, y) de su esquina inferior derecha. En HTML, la esquina superior izquierda corresponde a la posición (0,0).


El tipo de figura “circle” define un círculo que está definido por las coordenadas (x, y) del centro y el radio r.


Finalmente, el tipo de figura “poly” define un polígono , regular o irregular, de n lados definido por las coordenadas (x, y) de los vértices que forman el polígono.



Por último, ya sabemos crear un mapa de imagen, pero ¿para qué se usan en las páginas web?
Bueno, eso depende de tu imaginación, tú le debes buscar los posibles usos, pero para ayudarte un poco, te voy a contar tres usos típicos.
Por supuesto, se pueden utilizar para verdaderos mapas geográficos, por ejemplo, para seleccionar las oficinas o tiendas de una empresa en una región particular.
También se emplean cómo método de navegación cuando se utiliza una barra de menú especial, por ejemplo creada mediante iconos.
Y por último, antes se utilizaba bastante en la página principal o portada de un sitio web en el que se daba a conocer cada una de las secciones del sitio web por medio de una imagen.




En HTML se puede incluir una imagen como fondo de ciertos elementos, como por ejemplo como fondo de la propia página o de una tabla, pero este uso está totalmente desaconsejado y se debe realizar mediante CSS.



Los formatos gráficos que son considerados como estándar son: 
GIF, JPG y PNG


  • El primero, el formato GIF, es el más antiguo y el primero que se empleó en las páginas web. Sus características más particulares son que sólo soporta paletas de colores con 256 colores, permite transparencia pero de un solo color y permite realizar animaciones sencillas.
  • El formato JPG es quizás el más popular en la Web, y ello es debido a que permite trabajar con imágenes con más de 16 millones de colores y con tamaños de ficheros muy pequeños. Esto se logra mediante el uso de algoritmos de compresión con pérdidas.  La compresión con pérdidas significa que una vez comprimida una imagen, al descomprimirla no se obtendrá la imagen original, sino una aproximación
  • El último formato que vamos a ver es PNG. Este es un formato que se creó específicamente para la Web y ofrece una gran variedad de posibilidades.  Si se compara con el formato JPG, ofrece la máxima calidad, ya que utiliza un formato de compresión sin pérdidas, pero claro, esto es a costa de producir ficheros con un tamaño superior al formato JPG.





12 de julio de 2015

HTML Tablas


Una tabla HTML, tal y como explica Wikipedia, es una forma gráfica de representar información de manera esquematizada, ordenada y compacta.


                

Estas son las tres etiquetas básicas y las más utilizadas:
La etiqueta table indica el inicio y cierre de la tabla.
El resto de etiquetas necesariamente estarán recogidas entre <table> y </table>.

tr representa una nueva fila de la tabla.
td es la etiqueta de último nivel y se traduce en una celda de datos en la tabla.

Para añadir semántica a la tabla, contamos con la etiqueta th que sustituye a la etiqueta td para celdas de cabecera.
Es posible utilizarlas en cualquier punto de la tabla, aunque su uso se recomienda para las primeras y las últimas filas y columnas de la tabla.
Esta etiqueta también se puede utilizar para trabajar estilos; de hecho, verás que los navegadores destacan el texto de estas celdas en negrita.



      Ejemplo tabla sencilla en HTML5
                                 

También es posible agrupar filas en tres bloques de estilos.
thead agrupa una o más filas de cabecera,
tbody se utiliza para agrupar filas de cuerpo, típicamente aquellas que contienen el grueso de los datos tfoot, como cabría esperar, agrupa las filas del pie de la tabla.
Caption añade un título sobre la tabla.
Igual que en los procesadores de texto, en HTML es posible combinar celdas.
Para ello utilizamos dos atributos de las celdas: colspan y rowspan.
Colspan y rowspan esperan un valor entero que especifique cuántas columnas o filas, respectivamente, ocupa la celda.
Para dar estilos por columnas podemos hacer uso de las etiquetas colgroup y col.
La etiqueta col no tiene etiqueta de cierre, pero conviene cerrarla adecuadamente para cumplir con el estándar.
El atributo span funciona de forma parecida en colgroup o col a como lo hacían colspan y rowspan para las celdas de la tabla.
El valor del atributo indica el número de columnas que agrupará colgroup o col.
Para aplicar estilos a las columnas, es necesario estudiar el tema CSS.

En resumen, las etiquetas básicas para codificar una tabla en HTML son table para la tabla, tr para cada fila y td para las celdas.


Para añadir un título a la tabla, utiliza la etiqueta caption entre las etiquetas table.
Th, en sustitución de td, añade semántica especificando celdas de cabecera.
Las etiquetas que puedes usar para facilitar el trabajo posterior de CSS son las agrupaciones de filas: thead para las de cabecera, tbody para las filas de datos y tfoot para las del pie de la tabla, así como agrupaciones de columnas: colgroup y col.
Los atributos colspan y rowspan de las etiquetas th y td sirven para extender las celdas y el atributo span de las etiquetas colgroup y col para extender columnas.





Tabla HTML  (Evolución del desempleo en España)





Y para terminar, te dejo tres consejos que espero te sean útiles:


1. Utiliza tablas HTML exclusivamente para representar tablas y no caigas en la tentación de maquetar tu página con tablas: el código generado resulta farragoso, tu página no será accesible y además no es cool.
Antes se utilizaban las tablas para maquetar y, pese que a día de hoy puedas visitar algunas páginas conocidas que siguen haciendo uso de estas prácticas, como la de la CIA, hay más argumentos en contra que a favor. 
En la página www.hotdesign.com/seybold/spanish, puedes leer muchos más.

2. Repasa bien la combinación de celdas, recuerda que una mala codificación puede dar lugar a resultados desastrosos.

3. Utiliza la agrupación de filas y columnas para que el posterior trabajo de estilo con CSS resulte más sencillo.








28 de junio de 2015

Módulo 4: Cómo se escribe una página web correcta

      
Los objetivos de este módulo son: 
  • Aprender a crear páginas web con tablas e imágenes. 
  • Aprender a válidar el código HTML para crear páginas web correctas. 
  • Aprender las principales novedades de HTML5.
En las semanas anteriores has aprendido los conceptos básicos sobre la creación de páginas web. Algunas cosas importantes, como el juego de caracteres o la validación del código HTML no las hemos explicado para facilitarte el aprendizaje. Pero esta semana ya toca, tienes que aprender a realizar páginas web correctas.
Además, esta semana vas a aprender a incluir elementos nuevos en una página web.
Vas a aprender a crear tablas para mostrar datos tabulados.
Y vas a aprender a insertar imágenes.
En las próximas semanas aprenderás a insertar otros elementos multimedia, como por ejemplo los vídeos.
Por último, también vas a aprender las principales novedades que incorpora HTML5, la última versión de HTML.



HTML: juego de caracteres



El juego de caracteres, también llamado codificación de caracteres, es la pesadilla de la mayoría de los informáticos porque es una fuente de problemas inagotable.

En el siguiente vídeo se muestran ejemplos reales de problemas con el juego de caracteres y se proporcionan los consejos más importantes para trabajar con el juego de caracteres:
Utiliza siempre el mismo juego de caracteres.

Utiliza UTF-8 sin BOM.

Diferencias entre ISO-8859-1 (Latin1) e ISO-8859-15 (Latin9). 

Cómo se indica el juego de caracteres en HTML (etiqueta meta). 

Diferencias entre HTML4, XHTML1 y HTML5. 


¿Alguna vez el nombre de un fichero o su contenido no lo has podido ver bien al moverlo de un sistema operativo a otro?

¿Alguna vez has instalado un programa y no se visualizaban correctamente algunos caracteres?

¿Alguna vez te han dado un justificante, un extracto bancario o un recibo en el que no se mostraban correctamente algunos caracteres?

¿Alguna vez has entrado en una página web y te aparecían caracteres chinos cuando la página no estaba en chino?

Si alguna vez has sufrido un problema parecido y te has sentido solo porque pensabas que eras el único al que le pasaba, no te preocupes, porque no estabas solo, mucha gente como tú, sufre estos problemas todos los días.

Sin duda alguna, en el campo de la informática, el juego de caracteres es de las cosas más simples que más problemas ocasiona.

Mapa de caracteres, ASCII, ISO-8859-1, Latin-1, ANSI, UTF-8, UTF-8 sin BOM, Unicode, Cotejamiento.

¡Menudo lío! ¿Qué significa todo esa sopa de términos?

A muchos experimentados informáticos, las palabras “juego de caracteres” les produce horribles pesadillas. Para que a ti tampoco te produjese pesadillas y entendieses correctamente qué es el juego de caracteres, tendría que empezar por el principio, por la primera descripción conocida de un sistema de numeración binario que se debe a un matemático hindú del siglo tercero antes de nuestra era.

Después te tendría que explicar que el sistema binario moderno fue documentado en su totalidad por el gran matemático Leibniz, en el siglo XVII. Leibniz utilizó el 0 y el 1, al igual que el sistema de numeración binario actual.

La regla más importante es muy fácil de recordar: utiliza siempre el mismo juego de caracteres en todo lo que hagas. ¿Qué significa esto en una aplicación web?

Significa que todos los ficheros que compongan tu sitio web, deben estar almacenados en el mismo juego de caracteres: tus ficheros HTML, CSS, JavaScript, de texto, etc.

Pero también tus páginas PHP. Y cualquier fichero de texto que leas desde PHP. Y también los datos que estén almacenados en tu base de datos. Y también la conexión que establezcas con tu base de datos. Y si invocas a un servicio web que te devuelve datos en formato XML o JSON, pues lo mismo, los datos que te devuelva también tienen que estar en el mismo juego de caracteres.

Sencillo, ¿verdad? Pues no es tan sencillo, porque esto muchas veces es imposible de lograr, no porque no se pueda, sino porque no depende de nosotros. Lo normal es que en un escenario real nos encontremos con algo parecido a esto, 

un escenario en el que NO puedes utilizar el mismo juego de caracteres en todos los elementos de tu sistema. Y normalmente, el problema suele convertir en algo muy grave, con solución, pero muy costosa.

En ese momento es cuando te toca llamar al informático para que te solucione el problema, pero no a un informático que se dedica a instalar el Windows o a cambiar tarjetas gráficas, no, a un informático de verdad.

¿Qué juego de caracteres debo usar? Yo te recomiendo, UTF-8 sin BOM, es la solución a todos los problemas, y te permite mezclar en un mismo documento textos en cualquier idioma, es decir, te permite mezclar caracteres de cualquier alfabeto, pero absolutamente sin ningún problema.

Si no puedes utilizar UTF-8 sin BOM por alguna razón, entonces te recomiendo ISO-8859-1, también llamado Latin1. Después de UTF-8, es el mejor juego de caracteres para los idiomas de Europa occidental, incluido el español.

Pero si necesitas escribir el símbolo del euro, entonces debes utilizar ISO-8859-15, también llamado Latin9.

Latin1 y Latin9 se diferencian únicamente en 8 caracteres que han cambiado, y el único realmente importante para el español es la sustitución de un carácter que seguramente nunca has usado por el símbolo del euro.

¿Cómo indico el juego de caracteres en HTML?

Se realiza mediante una etiqueta <meta>, que se escribe en el <head> de la página web, pero depende de la versión de HTML que estés utilizando.

Si estás utilizando HTML4, debes utilizar esta sintaxis


Si estás utilizando XHTML 1, debes utilizar alguna de estas dos sintaxis. Además, si empleas un juego de caracteres diferente a UTF-8, también tendrás que indicar el juego de caracteres mediante la declaración de documento XML al principio de la página web


Y por fin llegamos a HTML5. ¿Cómo será en HTML5? ¿Más fácil? ¿Más complicado? Bueno, en HTML5 se ha intentado hacer el lenguaje HTML más sencillo, así que han simplificado la forma de indicar el juego de caracteres y ahora es algo tan sencillo como esto 






UTF-8 sin BOM / con BOM
En el siguiente vídeo se explica qué es UTF-8 sin BOM (Byte Order Mark) y con BOM y se muestran los habituales problemas con los editores de texto