Curso IT Fundamentos HTML 015_Nuevas características de HTML5
Nuevas características de HTML5
HTML5 es la última versión de HTML e introduce muchas etiquetas, atributos y funciones nuevas, mejorando enormemente la funcionalidad e interactividad de la web.
Algunas características nuevas interesantes de HTML5:
- El elemento canvas para dibujar
- Los elementos video y audio para la reproducción de medios
- Mejor soporte para almacenamiento local sin conexión
- Nuevos elementos de contenido especial como article, footer, header, nav, section
- Nuevos controles de formulario como calendar, date, time, email, url, search
<canvas>
El elemento <canvas> de HTML5 se utiliza para dibujar gráficos en páginas web. El elemento <canvas> se basa en la API de dibujo de JavaScript y se puede usar para crear varios gráficos, incluidos diagramas, gráficos, animaciones, etc.
Ejemplo:
<canvas width="500" height="500"> Su navegador no admite la etiqueta canvas de HTML5.</canvas><script> const canvas = document.querySelector("canvas"); // Obtener contexto de dibujo const ctx = canvas.getContext("2d"); // Dibujar círculo ctx.beginPath(); ctx.arc(250, 250, 100, 0, 2 * Math.PI); ctx.fillStyle = "yellow"; ctx.fill();</script>Efecto:

<svg>
El elemento SVG de HTML5 se utiliza para crear gráficos SVG en páginas web. Los gráficos SVG son gráficos vectoriales basados en XML que se pueden escalar sin pérdidas y son adecuados para diversos propósitos, incluidos:
Los elementos SVG incluyen:
- Elemento
<svg>: Define el elemento raíz del gráfico SVG. - Elemento
<path>: Define formas de ruta. - Elemento
<rect>: Define formas rectangulares. - Elemento
<circle>: Define formas circulares. - Elemento
<ellipse>: Define formas elípticas. - Elemento
<line>: Define líneas rectas. - Elemento
<polygon>: Define polígonos. - Elemento
<polyline>: Define polilíneas. - Elemento
<text>: Define texto. - Elemento
<g>: Define un grupo, utilizado para agrupar elementos SVG. - Elemento
<defs>: Define atributos globales que se pueden aplicar a múltiples elementos SVG.
Ejemplo:
<svg width="500" height="500"> <circle cx="250" cy="250" r="100" fill="yellow" /></svg>Efecto:

SVG y Canvas son herramientas para crear gráficos en páginas web. Ambos tienen sus propias ventajas y desventajas y son adecuados para diferentes escenarios.
SVG es un gráfico vectorial basado en XML que se puede escalar sin pérdidas. Esto significa que los gráficos SVG se pueden mostrar en cualquier tamaño sin perder calidad. Los gráficos SVG también se pueden manipular y animar usando CSS y JavaScript.
Canvas es una API de dibujo basada en JavaScript que puede crear gráficos de mapa de bits. Esto significa que los gráficos Canvas no se pueden escalar sin pérdidas, pero se pueden crear gráficos más complejos usando JavaScript. Los gráficos Canvas también se pueden manipular y animar usando JavaScript.
Diferencias específicas entre SVG y Canvas:
| Característica | SVG | Canvas |
|---|---|---|
| Tipo de imagen | Vector | Mapa de bits |
| Escalado | Sin pérdidas | Con pérdidas |
| Tipos de gráficos | Rectángulos, círculos, rutas, etc. | Cualquiera |
| Manipulación | CSS, JavaScript | JavaScript |
| Animación | CSS, JavaScript | JavaScript |
| Tamaño de archivo | Generalmente más pequeño | Generalmente más grande |
| Accesibilidad | Excelente | Regular |
-
SVG es adecuado para escenarios:
- Gráficos que necesitan escalarse sin pérdidas, como iconos, logotipos, ilustraciones
- Gráficos que necesitan manipularse y animarse con CSS y JavaScript
-
Canvas es adecuado para escenarios:
- Escenarios que requieren gráficos complejos, como juegos, animaciones
- Escenarios que requieren operaciones complejas con JavaScript
Formularios HTML5
HTML5 introduce algunos nuevos tipos de entrada y atributos para mejorar la funcionalidad y facilidad de uso de los formularios.
Nuevos elementos de formulario:
- Elemento
<datalist>: Se utiliza para una lista de opciones predefinidas del elemento<input>.
Ejemplo:
<label for="browser">Seleccionar navegador:</label><input list="browsers" id="browser" name="browser" autocomplete="off"><datalist id="browsers"> <option value="Chrome"> <option value="Firefox"> <option value="Safari"> <option value="Edge"> <option value="Opera"></datalist>Efecto:

| Elemento | Descripción |
|---|---|
<datalist> | Define una lista de opciones predefinidas para el elemento <input>. |
<output> | Representa el resultado de un cálculo. |
<keygen> | Crea un par de claves para un formulario, generalmente utilizado para el intercambio de claves. |
<progress> | Define una barra de progreso para cualquier tipo de tarea. |
<meter> | Mide un valor escalar o una fracción dentro de un rango conocido. |
Nuevos atributos de formulario:
- Atributo autocomplete de
<form>/<input>: Especifica que el campo form o input debe tener la función de autocompletado. Cuando el usuario comienza a escribir en un campo de autocompletado, el navegador debe mostrar las opciones completadas en ese campo.
Ejemplo:
<form action="demo-form.php" autocomplete="on"> Apellido:<input type="text" name="fname"><br> Nombre:<input type="text" name="lname"><br> Correo electrónico:<input type="email" name="email" autocomplete="off"><br> <input type="submit"></form>Efecto:

| Atributo | Descripción |
|---|---|
autocomplete | Especifica si el campo de entrada debe habilitar la función de autocompletado. |
novalidate | Impide que el navegador valide el formulario. |
form | Especifica el formulario al que pertenece el elemento <input>, asociándolo con un formulario específico. |
formaction | Especifica la URL que se utilizará al enviar el formulario. |
formenctype | Especifica el tipo de codificación que se utilizará al enviar el formulario (por ejemplo, application/x-www-form-urlencoded o multipart/form-data). |
formmethod | Especifica el método HTTP que se utilizará al enviar el formulario (por ejemplo, get o post). |
formnovalidate | Desactiva la validación del formulario del navegador al enviar el formulario. |
formtarget | Especifica la ventana o marco de destino que se abrirá después de enviar el formulario. |
height | Establece la altura del elemento <input type="image">. |
width | Establece el ancho del elemento <input type="image">. |
list | Especifica el ID del elemento <datalist> asociado con el elemento <input> o <textarea>. |
min | Especifica el valor mínimo del elemento <input>. |
max | Especifica el valor máximo del elemento <input>. |
pattern | Define una expresión regular para validar el campo de entrada al enviar el formulario. |
placeholder | Proporciona un breve consejo para el campo de entrada, que solo se muestra cuando el campo está vacío. |
required | Especifica si el campo de entrada es obligatorio. |
step | Especifica el intervalo numérico legal del elemento <input>. |
Nuevos tipos de input:
<form action="/submit" method="post"> <label for="name">Nombre:</label> <input type="text" id="name" required /> <br> <label for="email">Dirección de correo electrónico:</label> <input type="email" id="email" required /> <br> <label for="birthday">Fecha de nacimiento:</label> <input type="date" id="birthday" required /> <br> <label for="phone">Número de teléfono:</label> <input type="tel" id="phone" required /> <br> <input type="submit" value="Enviar" /></form>Efecto:

| Tipo | Función |
|---|---|
| color | Para ingresar valores de color. |
| date | Para ingresar valores de fecha. |
| datetime-local | Para ingresar valores de fecha y hora. |
| Para ingresar direcciones de correo electrónico. | |
| file | Para cargar archivos. |
| month | Para ingresar valores de mes. |
| number | Para ingresar valores numéricos. |
| range | Para ingresar valores de rango. |
| search | Para ingresar cadenas de búsqueda. |
| tel | Para ingresar números de teléfono. |
| time | Para ingresar valores de tiempo. |
| url | Para ingresar direcciones URL. |
[!Resumen]
| Elemento | Función | ¿Recomendado? |
|---|---|---|
| Nuevos elementos | ||
<canvas> | Define gráficos como diagramas y otras imágenes. Esta etiqueta se basa en la API de dibujo de JavaScript. | Recomendado |
<audio> | Define contenido de audio | Recomendado |
<video> | Define videos (video o película) | Recomendado |
<source> | Define recursos multimedia para <video> y <audio> | Recomendado |
<track> | Define subtítulos o traducciones para audio o video | Recomendado |
<datalist> | Define una lista de opciones. Use este elemento junto con el elemento input para definir los valores posibles de input. | Recomendado |
<keygen> | Especifica un campo generador de pares de claves para un formulario. | Recomendado |
<output> | Define diferentes tipos de salidas, como salidas de scripts. | Recomendado |
<article> | Define un área de contenido independiente de la página. | Recomendado |
<aside> | Define el contenido de la barra lateral de la página. | Recomendado |
<bdi> | Permite establecer una sección de texto que se separa de la configuración de dirección de texto de su elemento principal. | Recomendado |
<dialog> | Define un cuadro de diálogo. | Recomendado |
<figure> | Define un área que contiene imágenes u otro contenido visual. | Recomendado |
<footer> | Define el área inferior de la página o parte de la página. | Recomendado |
<header> | Define el área superior de la página o parte de la página. | Recomendado |
<main> | Define el área de contenido principal de la página. | Recomendado |
<mark> | Define texto importante o resaltado. | Recomendado |
<meter> | Define el progreso o el rango de valores. | Recomendado |
<nav> | Define el área de navegación de la página o parte de la página. | Recomendado |
<progress> | Define una barra de progreso. | Recomendado |
<time> | Define una fecha u hora. | Recomendado |
<wbr> | Permite insertar caracteres de salto de línea en el texto. | Recomendado |
| Elementos obsoletos o no recomendados | ||
<acronym> | Define un acrónimo. Se recomienda usar el elemento <abbr> en su lugar. | Recomendado |
<applet> | Define un applet de Java. Se recomienda usar JavaScript u otras tecnologías modernas en su lugar. | No recomendado |
<basefont> | Establece el tamaño y color de fuente predeterminados para todo el texto de la página. Se recomienda usar CSS para establecer estilos de texto. | No recomendado |
<big> | Establece el tamaño de fuente del texto. Se recomienda usar CSS para establecer estilos de texto. | No recomendado |
<center> | Fuerza la alineación de texto centrada. Se recomienda usar CSS para establecer la alineación del texto. | No recomendado |
<dir> | Define una lista de directorios. Se recomienda usar el elemento <ul> en su lugar. | No recomendado |
<font> | Establece el tamaño, color, estilo, etc. de fuente del texto. Se recomienda usar CSS para establecer estilos de texto. | No recomendado |
<frame> | Define un marco. Se recomienda usar el elemento iframe en su lugar. | No recomendado |
<frameset> | Define un conjunto de marcos. Se recomienda usar el elemento iframe en su lugar. | No recomendado |
<noframes> | Proporciona contenido alternativo para navegadores que no admiten marcos. Se recomienda usar JavaScript para determinar si el navegador admite marcos y mostrar u ocultar contenido según corresponda. | No recomendado |
<strike> | Establece el estilo de tachado del texto. Se recomienda usar CSS para establecer estilos de texto. | No recomendado |
<tt> | Establece la fuente monoespaciada del texto. Se recomienda usar CSS para establecer fuentes de texto. | No recomendado |