HTML v7.0
HTML v7.0
1
HTML
HTML (HyperText Markup Language) es el primer
lenguaje que una persona debe conocer si desea
comenzar a realizar páginas web. HTML no es un lenguaje
de programación, sino una lenguaje descriptivo, una serie
de etiquetas que el navegador interpretará de una u otra
forma para mostrar distintos contenidos por pantalla.
2
3
Herramientas HTML
Para escribir HTML bastaría con un editor de texto plano como el
bloc de notas de Windows o gedit de Linux.
4
Normalización. Versiones
de HTML
Los programas capaces de traducir el código HTML y
producir una salida en pantalla de los mismos son los
navegadores (browsers en inglés). Se trata de un
software gráfico que se inició con la creación de Mosaic a
principios de los 90 y que poco a poco produjo más
productos hasta llegar a una guerra de navegadores a
finales de los 90 entre Internet Explorer de Microsoft y
Navigator de Netscape que ganó Microsoft pero que
ahora continúa con otros navegadores como el propio
Internet Explorer, Mozilla Firefox, Google Chrome,
Opera o Apple Safari entre otros.
5
Normalización. Versiones
de HTML (II)
La solución pasó por intentar estandarizar el
lenguaje. Por ello el propio Tim Bernes Lee
(creador de HTML) fundó la World Wide Web
Consortium (abreviado W3C) como
organismo de estandarización del lenguaje
HTML ante la industria.
6
Normalización. Versiones
de HTML (III)
HTML5 es una combinación de:
•
nuevas etiquetas de markup (lenguaje) HTML,
•
propiedades CSS3,
•
JavaScript y
•
algunas tecnologías complementarias de apoyo
7
Lenguaje de marcas HTML5
Parte I: Estructura de un
documento HTML
8
Formato de las etiquetas
HTML5
Un documento HTML está formado por elementos,
donde cada elemento se compone de tres partes: una
etiqueta inicial, el contenido del elemento, y una
etiqueta final.
9
Estructura de una página
El cuerpo (llamado
body en inglés)
contiene todo lo que el
usuario ve en su
pantalla y la cabecera
(llamada head en
inglés) contiene todo
lo que no se ve (con la
única excepción del
título de la página, que
los navegadores
muestran como título
de sus ventanas).
10
Estructura de una página
(II)
11
Estructura de una página
web HTML5 (I)
12
Estructura de una página
web HTML5 (II)
El elemento html que marca la raíz de la página debe
especificar el lenguaje en el que está escrita (atributo
lang).
13
Estructura de una página
web HTML5 (III)
Dentro del elemento head que marca el inicio
de la cabecera debemos incluir la etiqueta
meta que advierte sobre el sistema de
codificación del texto de la misma.
14
Comentarios
En HTML, los comentarios tienen la siguiente sintaxis:
15
Elementos de la cabecera:
HEAD
Los elementos factibles de incluir en el <HEAD> son:
<TITLE> … </TITLE>
Title es obligatorio en las páginas web, sirve para indicar
el título de la página (que los navegadores suelen
mostrar en la barra de título de la ventana de la página).
Es un elemento muy importante porque los buscadores
otorgan a su texto prioridad en las búsquedas que se
realizan.
<SCRIPT> … </SCRIPT>
Se utiliza para incluir programas al documento. En
general se tratan de Javascripts.
16
Elementos del HEAD (II)
<STYLE> … </STYLE>
Especifica un estilo CSS para ser utilizado en el
documento.
<LINK> … </LINK>
Permite invocar a un recurso externo a la página con
el fin de incorporar a dicha página el contenido del
recurso.
17
Elementos del HEAD (III)
<META/>
La etiqueta meta permite indicar información extra a la
página web. Esta información no es útil para el usuario
final ya que no se muestra durante la visualización de la
página, pero es muy útil para los buscadores. Con esta
información es con la que indexan las páginas web.
Por ejemplo, permite especificar información de interés
como: autor, fecha de publicación, descripción, palabras
claves, etc.
Tiene etiqueta de inicio pero no de fin.
Sus atributos son:
18
Ejemplo completo
META
19
Cuerpo del documento:
body
El cuerpo de un documento HTML almacena el
contenido de la página Web, el cual puede presentarse
en el navegador de multitud de formas (textual, gráfica,
en forma de audio).
20
Cuerpo del documento:
body
Además, hay que tener presente que todos los
atributos de presentación del cuerpo están
desaprobados.
21
Cuerpo del documento:
body
22
Etiquetas disponibles en
HTML5
Ver chuleta en aulavirtual
23
Ejercicio de clase
Abre el editor de HTML que mas te guste y escribe el
siguiente código escrito en HTML5
24
Lenguaje de marcas HTML5
25
Presentación de
contenidos
A continuación estudiaremos las etiquetas utilizadas
para dar formato al texto y por tanto crear distintos
tipos de presentación de contenidos. Algunas etiquetas
se usan desde la primera versión de HTML y otras se
han introducido más recientemente en HTML5.
En esta parte vamos a ver en orden sucesivo:
cómo teclear párrafos;
cómo organizar la página con títulos;
cómo resaltar palabras determinadas en el texto;
cómo organizar la información en listas.
Cómo organizar la información en tablas.
26
Párrafos
El texto en una página web se teclea
habitualmente en párrafos. En el lenguaje
HTML la etiqueta <p> se usa para
delimitar los párrafos.
28
Crear una línea nueva
¡Todo el texto se muestra en la misma línea aunque haya
un salto de línea en el código! Darle a la tecla del Enter
frenéticamente en el editor de texto, por lo tanto, no sirve
de nada.
29
Crear una línea nueva
30
Crear una línea nueva
¿Qué pasa si solo quiero pasar a la línea siguiente en un
párrafo dando comienzo a una línea nueva?
¡Hay una etiqueta que se llama «salto de línea»! Es una
etiqueta huérfana que solo se usa para indicar el salto
de línea: <br />. La tenéis que colocar dentro de un
párrafo.
31
Líneas horizontales
Si queremos hacer una ruptura entre párrafos y que
esta se resalte mediante una línea horizontal usaremos
la etiqueta vacía hr:
32
Espacios en blanco
Otro detalle adicional a tener en cuenta es el de los
espacios en blanco.
33
Espacios en blanco
Así mismo, debe evitarse el uso de elementos P vacíos o
elementos P conteniendo sólo el carácter especial
para formatear el texto.
34
Espacios en blanco
La entidad permite añadir un espacio en blanco
obligatorio. Por lo que si, por ejemplo, la escribimos
cuatro veces seguidas, estaremos dejando cuatro
espacios en blanco que el navegador sí tendrá en
cuenta.
35
Encabezado de secciones
Las páginas HTML habituales suelen tener una estructura
más compleja que la que se puede crear solamente
mediante párrafos. De hecho, es habitual que las páginas
se dividan en diferentes secciones jerárquicas.
36
Encabezado de secciones
Las etiquetas que definen los títulos de sección son
<h1>, <h2>, <h3>, <h4>, <h5> y <h6>.
37
Encabezado de secciones
38
Resaltado básico de
caracteres
Son elementos que permiten marcar el texto de forma
especial (elementos en línea)
Enfatizar
Para enfatizarel texto, tenéis que usar la etiqueta
<em> </em>.
Es muy simple de usar, ¡todo lo que tenéis que hacer
en encerrar las palabras a enfatizar dentro de estas
etiquetas!
Enfatizar considerablemente
Para enfatizar considerablemente un texto, podéis
usar la etiqueta <strong> que significa «énfasis
fuerte» o si preferís «importante». Se usa
exactamente de la misma forma que <em>
39
Resaltado básico de
caracteres
40
Etiquetado por contenido
Según el tipo de contenido a presentar, podemos
utilizar una de las etiquetas que aparecen a
continuación.
El navegador formateará el texto con unos atributos
predeterminados:
41
Listas
Las listas permiten crear párrafos agrupados y
alineados mediante símbolos como viñetas o números y
además crean párrafos alineados de forma especial
para su correcta visibilidad.
42
Listas
Las listas numéricas aparecen dentro del
elemento ol (de ordered list, lista ordenada),
después cada párrafo de la lista estará dentro
de elementos de tipo li, al igual que las
anteriores. La diferencia ahora es que cada
párrafo con li, aparece con un número y no
con una viñeta. Ejemplo:
43
Listas
El tipo de viñetas o de numeración empleada se puede
modificar aplicando hojas de estilos CSS a los elementos
de la lista.
44
Ejercicio de clase
f
45
Listas anidadas
Es posible meter unas etiquetas con otras, por ejemplo:
46
Listas anidadas
47
Ejercicio de clase
Haz una lista ordenada con los nombres: Desayuno,
almuerzo, Merienda y Cena.
48
Listas de términos
Permite crear una lista de definiciones de términos. En
ellas se indica el término a definir y su definición.
Etiquetas: dl para comenzar la lista y dt junto con dd
para cada término.
49
Tablas
La definición de una tabla comienza con la etiqueta table,
por cada fila se indica tr y por cada columna se indica td.
50
Ejemplo tabla
51
Celdas de cabecera <th>
52
Ejercicio de clase
Realizar el código HTML5 para la siguiente tabla:
53
Títulos en las tablas
Puede especificarse el título de una tabla mediante el
elemento CAPTION.
Este elemento sólo puede ir inmediatamente después
de la etiqueta de inicio del elemento TABLE y sólo
puede haber uno.
54
Combinar celdas
La combinación (unión) de celdas se realiza a través de los
atributos rowspan y colspan de los elementos TH (table
header) y TD (table data). Cuando se le asigna un valor mayor
que 1, se está indicando el número de filas (rowspan) o
columnas (colspan) que debe ocupar dicha celda. Dicho de
otra manera, se unen varias celdas consecutivas (en
horizontal o vertical) creando una macro celda.
55
Ejemplo: combinar celdas
56
Ejercicio de clase
57
Tablas dentro de tablas
Para generar tablas aún más complejas, se pueden
meter elementos table, dentro de otras tablas. Lo que
se hace es meter una etiqueta table (con todos sus
elementos de fila y columna) en un td o th.
58
Lenguaje de marcas HTML5
59
Enlaces
Dentro de una página web se pueden colocar enlaces que permitan
cuando arrimamos el ratón hacer clic y que se cargue y se lance el
destino de una URL.
http://es.wikipedia.org/wiki/Tiberio.
60
Enlaces
Ese ejemplo muestra un salto absoluto, es decir el
enlace nos lleva a una dirección URL global. Pero es
posible que el salto nos dirija a un recurso presente en
nuestro propio servidor. Ejemplos:
61
Resumen gráfico enlace a
otra página de mi sitio web
62
Atributos del elemento a
Realmente el único de obligado uso es href, pero es posible utilizar los
siguientes atributos (además de los atributos comunes a todas las etiquetas
comentados anteriormente):
<a target="_blank|_self|_parent|_top|framename">
63
Enlaces
Los enlaces pueden apuntar directamente a documentos
PDF, Word, etc.
<a
href="http://www.ejemplo.com/informe.pdf">Descargar
informe completo [PDF]</a>
<a
href="http://www.ejemplo.com/informe.doc">Descargar
informe completo [DOC]</a>
64
Enlaces
Puede utilizarse el protocolo mailto dentro de la URL de
un hipervínculo para especificar que se desea enviar un
correo electrónico.
65
Ejercicio de clase
Vamos a crear una carpeta y dentro de ella 2
ficheros html. Uno de ellos index.html y el otro
enlaces.html
66
Enlaces internos
Hay un estilo de enlace que permite saltar a un punto
concreto del documento. Se realiza de esta forma:
<div id=“salto1"></div>
67
Enlaces internos
68
Enlaces internos a páginas
distintas
Por otro lado es posible indicar direcciones de enlace
que salten a una página y dentro de ella se coloque en
una posición marcada, por ejemplo:
69
Ejercicio de clase
70
Enlace en ventana nueva
71
Lenguaje de marcas HTML5
72
Inserción de imágenes
Las imágenes se insertan en HTML gracias al elemento
IMG. Su uso simple necesita de la especificación de dos
atributos obligatorios:
73
Atributos de <IMG>
74
Atributos heigth y width
Mediante los atributos height y width se indica el espacio que el
navegador deberá reservar para la imagen.
75
Consejos uso <IMG>
76
Ejemplo
77
Miniatura clicable
Si la imagen es muy grande, es recomendable mostrar su vista en
miniatura en tu sitio web.
78
Ejercicio de clase
Descarga una foto de Cartagena y colócala en una
página web.
79
Lenguaje de marcas HTML5
Parte V: Elementos
multimedia
80
Inserción de audio
La inserción de audio se realiza con las etiquetas <audio> y </audio>.
Los formatos de audioArchivo que reproduce sonido. soportados son: MP3, WAV
y Ogg.
81
Ejemplo de audio 1
<audio src="miaudio.mp3" autoplay controls loop >
Audio no soportado
</audio>
En el caso que el navegador no soporte el componente de
audio en vez de este, se le mostrará en pantalla el texto
“Audio no soportado” que hemos puesto adentro.
Adicionalmente si se quiere agregar más de una fuente de
audio se utiliza la etiqueta <source>
Agregar múltiples fuentes es útil en el caso que la primer
fuente no se encuentre por algún motivo, entonces tratará de
buscar la siguiente fuente hasta encontrar alguna.
82
Ejemplo de audio 2
83
Inserción de video
La inserción de video se realiza con las etiquetas <video> y </video>. Al igual que el
audio esta funcionalidad no requiere de la instalación de plugins en el navegador
84
Ejemplo de video
85
Inserción de video de
Youtube
Busca el video
Pulsa compartir
Elige la opción Insertar <>
Elige las opciones para el video que vas a insertar en tu
página.
Pulsa Copiar y pega el código en tu documento HTML
https://www.ensalza.com/blog/como-insertar-un-video-d
e-youtube-en-tu-pagina-web/
86
Lenguaje de marcas HTML5
87
Formularios
Los formularios se utilizan para establecer una
comunicación con el usuario. A través de ellos, el usuario
selecciona una serie de opciones o rellena información
solicitada enviándola a un determinado programa (suele
conocerse como script) ubicado en un servidor Web. Dicho
programa procesa la información recibida y, generalmente,
devuelva una respuesta al usuario en forma de página Web.
88
Formularios
Por ejemplo podemos colocar cuadros de texto en los
que el usuario pone sus datos y estos pasan a una
página PHP que tendrá la capacidad de recoger dichos
datos y actuar en consecuencia.
Ejemplo de formulario:
89
Etiqueta FORM
Todo formulario HTML comienza con una etiqueta form
y dentro de ella se colocan todos los controles del
formulario.
90
Etiqueta FORM
method. Opcional. Si no se utiliza, el valor por defecto
es get. Indica el método de envío de datos entre el
formulario y el servidor. Puede tener dos valores: get|
post.
El método GET envía los datos a través de la URL mientras
que el método POST envía los datos del formulario en el
cuerpo en el cuerpo del mensaje HTTP.
El método GET tiene un gran inconveniente: la cantidad de
información que puede ser enviada está limitada al tamaño
máximo de la URL que navegador y servidor pueden
manejar. Además, el método GET no soporta el envío de
caracteres que no sean ASCII (cómo "é“ y"©").
El método POST siempre es más seguro y más cómodo. Si
se va a trabajar con URL’s de más de 100 caracteres o que
contengan caracteres no ASCII, el uso del método POST es
imperativo para evitar posibles problemas.
91
Etiqueta FORM
92
Cuadros de texto
Los cuadros de texto se utilizan para entradas de texto
cortas de una sola línea. Su sintaxis es:
nombre significativo
value. Da un valor inicial al cuadro, se usa para
indicar un texto de ayuda al relleno.
93
Cuadros de texto
id. Opcional. Identificador del cuadro. La W3C (organismo
que estandariza XML y HTML) recomienda usar id en lugar
de name, pero lo cierto es que PHP recoge los valores
gracias a name, no funciona con id. Por lo que para más
seguridad los diseñadores suelen utilizar ambos atributos.
94
Cuadros de texto
95
Label para un campo de
formulario
Aunque el código anterior produce el efecto deseado de
añadir un par de cuadros de texto a un formulario
anteponiéndoles un texto, la manera correcta de
escribir ese texto sería con la etiqueta <label>
96
Cuadros de contraseñas
Funcionan como los cuadros de texto, sólo que el
texto que se introduce se oculta, mostrando sólo
puntos o asteriscos. La sintaxis es:
97
Cuadro de texto multilinea
La etiqueta textarea permite coloca un cuadro de texto
de varias líneas para que el usuario puede introducir un
texto largo. El atributo rows permite indicar la altura en
líneas de texto del cuadro y el atributo cols, la anchura
en caracteres (los demás atributos son como los de la
etiqueta input type="text". Ejemplo:
98
Botones
Los botones son controles del formulario en los que no se
puede escribir y solo reaccionan a movimientos de ratón.
99
Botones
Botón de restablecer, input type="reset"
La sintaxis de este botón es:
100
Botones de radio
Se trata de un control fácil de usar que permite elegir
una de entre varias opciones. Todas las opciones deben
de tener el mismo nombre y sólo cambia el valor de las
mismas. Ejemplo:
101
Botones de radio
102
Ejercicio de clase
103
Casillas de verificación
La diferencia fundamental entre los cuadros de
confirmación y los botones de radio reside en que en el
primero cada opción es independiente del resto y
TODAS podrían estar marcadas (cada cuadro de
confirmación debe tener un nombre diferente con
respecto al resto de cuadros de confirmación), de ahí
que todas puedan llevar el atributo checked.
104
Casillas de verificación
105
Cuadro combinado
Un cuadro combinado permite el uso de una lista de
opciones en la que se puede elegir la deseada.
106
Cuadro combinado
107
Cuadro combinado
Se pueden agrupar opciones dentro del cuadro usando
el elemento optgroup. Ejemplo:
108
Cuadro de selección de
archivo
Cuando se usa type="file" en una etiqueta input,
entonces aparece un botón que al pulsarle hace
aparecer un cuadro de selección de archivos mediante
el cual podremos elegir un archivo. La ruta local a dicho
archivo es lo que se guarda para ser enviado al sitio o
página que recibe los valores del formulario. Ejemplo:
109
Agrupación de controles,
fieldset
La etiqueta fieldset permite agrupar controles
para que visualmente sea más cómodo el
relleno de los controles.
110
Agrupación de controles,
fieldset
111
Ejercicio
112
Estructurando páginas
Las páginas anteriores muestran las decenas de etiquetas HTML
disponibles para marcar y estructurar cada elemento individual de
las páginas web: tablas, listas, enlaces, párrafos, imágenes, etc.
Aunque combinando esas etiquetas es posible crear cualquier página
web, no es posible hacer que las páginas muestren estructuras
complejas.
113
Estructurando páginas
Para agrupar los elementos que forman cada zona
o división de la página se utiliza la etiqueta <div>:
114
Estructurando páginas
115
Lenguaje de marcas HTML5
116
Etiquetas semánticas
nuevas de HTML5
Las principales etiquetas HTML5 nuevas no tienen una
representación especial en pantalla. Todas se
comportan como un <div> o un <span>. Pero cada una
tiene un significado semántico superior a un simple div
o span.
117
Estructura típica de una
web
Ves? Una cabecera arriba,
un menú de navegación a
la izquierda, pie de página
abajo y un bloque lateral a
la derecha para colocar
contenido secundario,
como un calendario,
publicidad o qué se yo. Es
lo típico.
HTML5 ha definido
etiquetas para algunas de
esas zonas, no por estar
situadas en esas zonas,
sino por el contenido que
poseen dentro
(semánticas, recuerda).
118
Nuevas etiquetas HTML5
Nuevas etiquetas del
Html5 y cómo se
podrían distribuir
dentro del diseño de
una página web
119
Nuevas etiquetas HTML5
120
<header>
Hacer cosas como <div id=”header”> es un poco
estúpido cuando el 99% de los proyectos web tienen
una cabecera. <header> está diseñada para
reemplazar la necesidad de crear divs sin significado
semántico.
121
<header>
Además de los elementos citados, un header podría
contener un menú de ayuda a la navegación, una tabla
de contenidos, un formulario de búsqueda, etc. Su
contenido no es tan extricto.
122
<header>
Además, se puede
utilizar en otras
partes del documento
que necesiten un
subencabezado.
Por ejemplo, en un
blog, podría haber un
header en la parte
superior, definiendo
el título del sitio y su
autor, y luego otro en
cada artículo.
123
<footer>
Similar al anterior, sirve para marcar el pie de una
página, sección, artículo etc.
124
<footer>
Footer significa pie y aunque se ha creado para
contener lo dicho, no ha de tener que estar en la parte
más baja de una página web para poder ser un footer.
125
<nav>
La etiqueta <nav> se usa para marcar una sección del
documento cuya función es la navegación por la página web, o
sea, se trata de una barra de navegación. Más adelante con
CSS se puede dar un formato especial a dichos enlaces.
Esta etiqueta no debe ser usada para marcar todos los grupos
de enlaces, únicamente los bloques principales de navegación
por la página. Por ejemplo, los típicos enlaces que hay en el
pie de página no se deben marcar con <nav>.
126
<section>
Es un elemento que permite dividir en diferentes partes
o secciones un documento.
127
<section>
Si el único motivo para encerrar un bloque de código es el
de poder aplicarle lo anterior, no tiene sentido aplicarle
una de estas nuevas etiquetas. En su lugar se puede y
debe usar un DIV de toda la vida.
128
<article>
Si se observan los elementos descritos anteriormente
parece claro que HTML 5 utiliza como metáfora la forma de
distribuir contenidos de un periódico. Así hay cabeceras,
pies, secciones y, con este elemento, artículos.
129
Ejemplo <section> y
<article>
130
<aside>
Con las etiquetas <aside> y </aside>, se nos invita a
rodear todo aquel contenido que no es directamente
contenido principal del que estamos hablando o del que
estamos tratando en esa página en concreto. La norma
dice que se use para todo aquel contenido tangencial al
contenido principal de la página.
131
<aside>
132
133
<hgroup>
En muchas ocasiones es habitual encontrarnos con el
título de la página web con una breve descripción o
definición o lema de la página bajo él. Es muy típico por
ejemplo en los blog tipo WordPress.
134
<figure> y <figcaption>
<figure> sirve para agrupar los elementos relativos a
una imagen como la propia imagen (elemento img), el
título de la misma, el pie, los párrafos relativos, etc.
Permite indicar el título de una imagen, dentro de un
elemento figure.
135
Ejemplo
http://davidyeiser.com/
136